【发布时间】:2014-11-19 03:18:11
【问题描述】:
我在列表中追加一个非常奇怪的问题。
import random
def CreatePopulation(a, r):
pippo=range(a)
print pippo
i=0
prova=[]
while i<r:
random.shuffle(pippo)
print pippo
prova.append(pippo)
print prova
i=i+1
return prova
pop=CreatePopulation(5,10)
print pop
example=["a","b"]
example.append("c")
print example
我无法上传整个输出,因为网站说它的格式不正确。 但是输出的是一个十倍相同值的列表,x的最后一次shuffle,像这样:
[[1, 0, 4, 2, 3], [1, 0, 4, 2, 3], [1, 0, 4, 2, 3], [1, 0, 4, 2, 3], [1, 0, 4, 2, 3],
[1, 0, 4, 2, 3], [1, 0, 4, 2, 3], [1, 0, 4, 2, 3], [1, 0, 4, 2, 3], [1, 0, 4, 2, 3],
[1, 0, 4, 2, 3]]
但循环外的示例可以正常工作:
['a', 'b', 'c']
我真的不明白为什么输出是这样的,而不是在末尾追加,它只是创建一个具有所有相同值的列表。 但是如果我在循环之外使用附加它就可以了。
【问题讨论】:
标签: python list python-2.7 append