python 多维list 初始化

今天刷题被这个坑死了,没想到A=[[0]*3]*4 这种初始化方式,改变一个元素,会影响整列!!!!

# 初始化一个2维的4×3的数组,嵌套的list
A=[[0]*3]*4
A
[[0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0]]
#改变数组中的元素的值
#嵌套列表初始化之后,内层列表元素值的改变,会影响整个列表对象A的值
A[0][1]=1
A
[[0, 1, 0], [0, 1, 0], [0, 1, 0], [0, 1, 0]]
A[1][1]=0
A
[[0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0]]


要通过循环创建!!!!!
B=[[0 for t in range(2)]for i in range(3)]
B
[[0, 0], [0, 0], [0, 0]]
B[0][1]=1
B
[[0, 1], [0, 0], [0, 0]]

猜你喜欢

转载自blog.csdn.net/qq_32799915/article/details/86520438
今日推荐