Python创建空的二维数组

马丁·安斯滕森

我试图通过使用for循环生成一个空的二维数组。我发现一种有效的方法,它看起来像这样:

rows = 5
cols = 5
grid1 = []
grid1 = [[0 for i in range(cols)] for j in range(rows)] 
print(grid1)

输出:

[[0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0]]

但是,当我尝试以“常规”语法编写for循环时,会引发错误。为什么我不能用普通语法编写它?

rows = 5
cols = 5

grid2 = []
for i in range(rows):
    for j in range(cols):
        grid2[i][j] = 0
print(grid2)

输出:

Exception has occurred: IndexError
list index out of range
  File "C:\Users\Bruker\Downloads\test.py", line 8, in <module>
    grid2[i][j] = 0
喷枪

IndexError之所以得到,是因为您无法在列表的当前长度之外分配给列表中的索引。由于grid2已初始化为空列表,因此尝试对其进行索引都会引发此错误。

使用for循环编写嵌套列表理解的一种正确方法是,首先为每一行构造内部列表,然后将其构建appendgrid2

grid2 = []
for i in range(rows):
    inner = []
    for j in range(cols):
        inner.append(0)
    grid2.append(inner)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

创建一个空的二维数组

来自分类Dev

空第二维的数组/向量的Python / numpy问题

来自分类Dev

Python二维数组

来自分类Dev

Python二维数组

来自分类Dev

在python中创建动态二维数组(循环)

来自分类Dev

Haskell-创建二维数组

来自分类Dev

无法创建二维数组

来自分类Dev

如何从二维数组创建html?

来自分类Dev

JavaScript创建二维数组

来自分类Dev

无法创建二维数组

来自分类Dev

Haskell-创建二维数组

来自分类Dev

如何从二维数组创建html?

来自分类Dev

创建二维动态数组的函数

来自分类Dev

如何创建二维数组?

来自分类Dev

从一维数组创建二维数组

来自分类Dev

从一维数组创建二维数组

来自分类Dev

二维数组python中的邻居

来自分类Dev

在python中索引二维数组

来自分类Dev

在Python中转换二维数组

来自分类Dev

Python中二维数组的对数

来自分类Dev

Python:特殊的二维数组

来自分类Dev

Python ctypes。获取二维数组

来自分类Dev

如何创建具有大小的Swift空二维数组

来自分类Dev

如何从具有空值的数据库创建numpy二维数组

来自分类Dev

使用键在Javascript中创建一个空的二维数组

来自分类Dev

打字稿:创建一个空的二维数组,然后在不同的地方插入值

来自分类Dev

如何创建一个二维数组的二维数组?

来自分类Dev

Numpy:将一维数组(行)添加到 Numpy Python 中的空二维数组

来自分类Dev

从二维数组重新创建数组