2016-03-22 33 views
0

我将创建一个列表或包含在特定索引处随机数字的列表的词典“p0”。我不明白,在这短短的代码会发生什么:随机列表的Python列表(或字典)

import numpy as np 

p0={} 
a=[0,0,0] 

for i in range(10): 
    a[1]= np.random.uniform(0,i) 
    print a 
    p0[i] = a 
    print p0[i] 
print "\n final p0: ",p0 

最终p0只包含10次最后一次迭代的结果......,是从以前的不同(在环)p0

回答

0

当你通过ap0[i]你传递一个对列表的引用。所以当你把它插入字典时,你必须把它复制出来,你可以这样做:

p0[i] = list(a) 
+0

非常感谢Sevanteri!这工作得很好! –