我正在尝试使用append函数创建一个嵌套列表,但最后一个值将恢复过去的值,任何人都可以告诉我原因,以及如何正确地执行它。 感谢
result = 1
for num in range(1, 6):
result *= num
print(result)
print(result)
输出显示:
[[4,0,0],[4,0,0],[4,0,0],[4,0,0]]
但我想要的输出是
[[1,0,0],[2,0,0],[3,0,0],[4,0,0]]
答案 0 :(得分:1)
您的结果列表是[temp, temp, temp, temp]
。如果您希望对象不同,则每次都必须创建一个新的子列表。使用列表理解的一种简单方法是
d = [[i, 0, 0] for i in range(1, 5)]
答案 1 :(得分:0)
试试这个:
d= []
temp = [0,0,0]
for i in range(4):
tmp = [t for t in temp]
tmp[0] = i+1
d.append(tmp)