赞
踩
我们有时候需要创建二维的列表,但列表的长度又很长,我们不可能用
list=[[0,0,0,....],[0,0,0,....],[0,0,0,....],...]
去创建,因为太长了。因此像我这样因为项目需要才接触python和新手等学习不深的就会用
list=[[0]*W]*H
来创建。
但这样创建的二维列表并不是真正的二维列表,是一维列表多层浅拷贝。这里就不多说了,因为我也是看这篇文章的,需要的自己点进去哈。
这样子就会导致,改变一个值就全部都变,我个人出现在for嵌套里
- li=[[0]*10]*10
- for i in range(H):
- for j in range(W):
- li[i][j]=j-i
循环完发现同一列的值一样。
文章,还是这篇文章,不多说
我们可以自己创建一个函数去创建一个列表
- def Two_dimensional_list_creation(I,J):
- List=[]
- for i in range(I):
- List.append([])#List.append()为在列表后面追加元素
- for j in range(J):
- List[i].append(0)
- return List
-
- li=Two_dimensional_list_creation(10,10)
这样就好了。
参考文献:python创建二维列表的两种方法
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。