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 workearth = [[0,0,0],[0,0,0],[0,0,0]] # work
如果想 python 当中应用矩阵运算.
你就需要了解 numpy 这个库.
你可以百度一下 "numpy 莫烦", 莫烦教程有一系列的 numpy 教学教程.
本回答被提问者和网友采纳 参考技术B 答非所问,问的是Python 给的确实MATLAB,还推送到百度第一条,每次都误导人!以上是关于python赋值的主要内容,如果未能解决你的问题,请参考以下文章