猿问

python 列表赋值的问题

#coding:utf-8
importrandom
classSymMat(object):
def__init__(self,length=4):
self.length=length
self.matrix=[[0]*length]*length
values=range(length*2)
v=random.sample(values,length)
pprint(self.matrix)
print'------------before'
self.matrix[1][0:]=v
pprint(self.matrix)
defpprint(l):
foriinl:
printi
sm=SymMat(5)
输出:
[0,0,0,0,0]
[0,0,0,0,0]
[0,0,0,0,0]
[0,0,0,0,0]
[0,0,0,0,0]
------------before
[7,9,4,3,5]
[7,9,4,3,5]
[7,9,4,3,5]
[7,9,4,3,5]
[7,9,4,3,5]
仅对列表中第一行赋值,应该仅仅改变一行的,百思不解!
问题已解决,*赋值的时候是直接引用过去的,n个列表id相等~~
慕仙森
浏览 355回答 2
2回答
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答