【发布时间】:2020-06-08 20:48:35
【问题描述】:
有谁知道为什么当我运行这段代码时,我会得到相同的字典条目附加了 100 次?
from random import choice
aliens = []
alien = {}
colors = ['red', 'blue', 'green', 'black', 'purple', 'brown', 'yellow', 'coral']
points = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
speeds = ['slow', 'medium', 'fast']
for i in range(1,101):
alien['color'] = choice(colors)
alien['points'] = choice(points)
alien['speed'] = choice(speeds)
aliens.append(alien)
print(aliens)
【问题讨论】:
-
你真的只有一个外星人,你每次通过循环都会修改它。当循环结束时,那个外星人保留了它的最后一个值,
aliens中的每个元素都指向同一个对象。尝试将alien = {}放入循环的顶部。 -
克里斯,这很好用。谢谢!