0
有人會告訴我這兩個街區之間的區別嗎?我很難弄清楚爲什麼第二個只在本地更改嵌套列表,而第一個更改全局。在我看來,他們做同樣的事情。爲什麼new_list必須放在for循環中以防止全局變化?
my_list = [ ]
new_list = [0, 0, 0 ]## outside the loop
for index in range(5):
my_list.append(new_list)
my_list[0][1] = 5
print(my_list)
## result
[[0, 5, 0], [0, 5, 0], [0, 5, 0], [0, 5, 0], [0, 5, 0]]
my_list = [ ]
for index in range(5):
new_list = [0, 0, 0 ] ## inside the loop
my_list.append(new_list)
my_list[0][1] = 5
print(my_list)
## result
[[0, 5, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0]]