python正确创建二维列表

错误创建方法:

[[]]*3表示的是3个指向这个空列表元素的引用,是一种浅拷贝,因此修改任何一个元素都会改变整个列表

a = [[0]*10]*3
a[0][1] = 1
print(a) # [[0, 1, 0, 0], [0, 1, 0, 0], [0, 1, 0, 0]]

正确方法:

’_’ 是一个循环标志,也可以用i,j 等其他字母代替,下面的循环中不会用到,起到的是循环此数的作用

b = [[1 for _ in range(4)] for i in range (3)]
b[0][1] = 2
print(b) # [[1, 2, 1, 1], [1, 1, 1, 1], [1, 1, 1, 1]]

你可能感兴趣的:(代码,python)