python赋值

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python赋值相关的知识,希望对你有一定的参考价值。

a=[1,2,3,4,5]
c=a
for i in range(2):
for m in range (5):
c.append(a[m])
print(c)
print(a)
为什么最后a的值也会变呢

c=a 这样的操作属于浅复制,a和c的值其实指向的是同一个内存地址,改变其中任何一个变量的值,都会造成另外的变量的值也显示为一样的改变。

用id函数可看出a 和 c 其实指向的是同一个内存地址。

如果想深复制,也就是值不指向同一个内存地址,可以用 c=a[:]

参考技术A 我也觉得使用字典处理好。这种做法很怪异,不过也不是没有办法,用eval方法eval('a[1]')复制代码即可得到a[1]的值,关键是怎么解析变量x,如果是“a1”还好办,“a11”该如何解析呢,a[11]还是a1[1]还是用字典吧

python 怎么给矩阵里的每一个元素赋值

想让矩阵的每一个元素都有70%的几率为1, 但是输出后会变成这种情况
space?5

percent?50

0 0 0 1 0

0 0 0 1 0

0 0 0 1 0

0 0 0 1 0

0 0 0 1 0
请问源代码该怎么修改才好
import random
n = input("space?")
percent = input("percent?")
earth = [[0]*n]*n
def showBoard():
for i in range(n):
for j in range(n):
print earth[i][j] ,
print
def treeSet():
for i in range(n):
for j in range(n):
per = random.uniform(0,1) * 100
if per >= 70:
earth[i][j] = 1
else:
earth[i][j] = 0
treeSet()
showBoard()

方法一:

1、如图所示是我们创建了一个矩阵,一般我们的操作过程中有矩阵的话那么在工作区就会出现,如图所示,我们可以双击工作区的需要更改的矩阵。

2、然后在弹出的表格中选中需要更改的单个矩阵元素,进行更改即可。

方法二:

1、我们也可以通过语句来实现对矩阵单个元素的赋值操作。我们可以通过下面的语句:

a(1,2)=100

如图所示就可以看到我们矩阵的该位置元素数值已经更改了。

2、假如我们输入的行数和列数大于原来的矩阵会出现什么现象呢?我们可以试试,我们输入a(5,6)=100,来看看结果。

3、我们可以看到矩阵会自动扩展成5行6列的一个新的矩阵,其余为赋值的区域会自动为0,我们也可以通过这个方法来对矩阵进行扩展。

参考技术A

我也研究了很久,终于发现问题了.

函数没错.

错在定义 earth 的时候.

earth = [[0]*n]*n  # does not work
earth = [[0,0,0],[0,0,0],[0,0,0]]  # work

 

如果想 python 当中应用矩阵运算.

你就需要了解 numpy 这个库.

你可以百度一下 "numpy 莫烦", 莫烦教程有一系列的 numpy 教学教程.

本回答被提问者和网友采纳
参考技术B 答非所问,问的是Python 给的确实MATLAB,还推送到百度第一条,每次都误导人!

以上是关于python赋值的主要内容,如果未能解决你的问题,请参考以下文章

Python列表赋值

Python赋值运算符

python属性重新赋值叫啥

Python的赋值与复制

python对多个变量循环赋值

python赋值问题