列表list包含某一列表s,是其使指向列表s的地址,当列表s发生改变,列表list当中的值也发生改变
list=[]
s=[1,2,3,4,5]
list.append(s)
print(list)
s[1]=5
list.append(s)
print(list)
# 输出
# [[1, 2, 3, 4, 5]]
# [[1, 5, 3, 4, 5], [1, 5, 3, 4, 5]]
那么如何使list/dictt中的值不随子列表改变而改变呢
list=[]
s=[1,2,3,4,5]
list.append(s[:])
print(list)
s[1]=5
list.append(s)
print(list)
# 输出
# [[1, 2, 3, 4, 5]]
# [[1, 2, 3, 4, 5], [1, 5, 3, 4, 5]]
列表添加元素时,不直接添加list,添加list本身,既添加其切片list[:]