我创建了一个列表列表,并希望将项目追加到各个列表中,但是当我尝试追加到列表之一(a[0].append(2))时,该项目就会添加到所有列表中。
a = []
b = [1]
a.append(b)
a.append(b)
a[0].append(2)
a[1].append(3)
print(a)
给出: [[1, 2, 3], [1, 2, 3]]
我希望: [[1, 2], [1, 3]]
更改构造列表的初始列表的方式,将b其替换为列表,然后将其放在花括号中.append(),可以得到所需的输出:
a = []
b = 1
a.append([b])
a.append([b])
a[0].append(2)
a[1].append(3)
print(a)
给出: [[1, 2], [1, 3]]
但为什么?结果不一样是不直观的。我知道这与对同一列表的多个引用有关,但是我看不到发生了什么。
哔哔one
慕容3067478
白猪掌柜的
相关分类