当前位置:   article > 正文

python二维列表创建与循环嵌套赋值_python 循环给二维数组赋值

python 循环给二维数组赋值

1.新手容易遇见的问题

我们有时候需要创建二维的列表,但列表的长度又很长,我们不可能用

list=[[0,0,0,....],[0,0,0,....],[0,0,0,....],...]

去创建,因为太长了。因此像我这样因为项目需要才接触python和新手等学习不深的就会用

list=[[0]*W]*H

来创建。

但这样创建的二维列表并不是真正的二维列表,是一维列表多层浅拷贝。这里就不多说了,因为我也是看这篇文章的,需要的自己点进去哈。

这样子就会导致,改变一个值就全部都变,我个人出现在for嵌套里

  1. li=[[0]*10]*10
  2. for i in range(H):
  3. for j in range(W):
  4. li[i][j]=j-i

循环完发现同一列的值一样。

2.解决方法

1.有多种

文章,还是这篇文章,不多说

2.个人方案

        我们可以自己创建一个函数去创建一个列表

  1. def Two_dimensional_list_creation(I,J):
  2. List=[]
  3. for i in range(I):
  4. List.append([])#List.append()为在列表后面追加元素
  5. for j in range(J):
  6. List[i].append(0)
  7. return List
  8. li=Two_dimensional_list_creation(10,10)

这样就好了。

参考文献:python创建二维列表的两种方法

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小丑西瓜9/article/detail/201764
推荐阅读
相关标签
  

闽ICP备14008679号