我试着用nxn大小的列表打印一种2d数组。我遇到的问题是列表变成了最后一组随机数
例如,如果第一组数字是[1,5,7],那么metaList变为[[1,5,7],1,2]。但是,如果第二组数字是[3,4,5],那么meta list将更改为[[3,4,5],[3,4,5],2]最后的列表是三个相同的列表,但我希望它们是不同的
如果这件事很简单,我很抱歉。提前感谢您的帮助。这是密码
import random
n = 3
def aBuilder():
metaList = range(n)
tempList = range(n)
for x in range(n):
metaList[x] = tempList
print metaList
for y in range (n):
tempList[y] = random.randint(1,9)
print tempList[y]
return metaList
def printList(List):
for x in range(n):
print List[x]
printList(aBuilder())
问题是
metaList
只保存对tempList
的引用,因此当tempList
更改时,metaList
中的项也会更改。解决办法是换线至
为了复制
tempList
每个赋值。 您的问题的更简单解决方案可能如下所示:相关问题 更多 >
编程相关推荐