一个人如何创建宽度/高度样式的2D数组

时间:2019-07-18 11:08:05

标签: python arrays

我正在研究Python,无论我走到哪里,我都看到2D数组的初始化像是[[1、2、3],[4、5、6]]。

如何以1:1的比例创建宽度/高度2D样式的数组?

我正在尝试使用p5py库以以下样式绘制网格:https://www.pyseroptics.com/wp-content/uploads/2017/07/R1_Grid-1.jpg

columns = 50
rows = columns

area = [columns]

#----------------------------#
for i in range(columns):     #
    rows = []                #
    for j in range(columns): # Main part of this question
        rows.append(input()) #
    area.append(rows)        #
#----------------------------#

上面,您可以看到我使用了哪些变量以及如何尝试使用它。

这将是正确的做法吗?我不是专家,但涉及2D数组时,就像是我刚接触编程。

1 个答案:

答案 0 :(得分:0)

您已接近要实现的目标。如果我们通过Python解释器(如IDLE)运行您的代码,将columns更改为3以进行更轻松的测试,并提供9个4作为输入,我们将得到以下结果:

[3, ['4', '4', '4'], ['4', '4', '4'], ['4', '4', '4']]

无关的3出现在数组开头的原因是由于以下语句:

area = [columns]

这会将area初始化为一个数组,唯一的元素是columns(或换句话说,area = [3])。为了解决这个问题,我们可以简单地更改行以将area初始化为一个空列表,然后再使用for循环来获取用户输入。您已经在代码中的其他地方执行了此操作...看看是否可以解决! :)