仅基于一个数字在python 3中创建2d数组/列表以创建空白矩阵

时间:2019-05-30 18:50:02

标签: python-3.x loops for-loop multidimensional-array

我试图创建一个可以根据一个数字动态变化的2D数组/列表,所以说我输入数字3,它将创建一个具有三行三列的二维数组。输入10将创建一个包含10列和10行等的数组。

char c = (char)((int)'A' + i - 1);

我对google和堆栈溢出都进行了相当多的研究,但都没有发现对我有很大帮助的结果。
我目前拥有的一个函数带有一个参数(numberOfCells),并使用for循环尝试填充数组,它返回array = [ [0, 0, 0] [0, 0, 0] [0, 0, 0] ] ,所以我愿意提出以其他方式实现此目标的建议

下面的两段代码都将使用此类创建新的单元格

TypeError: 'int' object is not iterable




class Cell:

    def __init__(self, id):
        self.infected = False
        self.dead = False
        self.id = id

    def printId(self):
        print(self.id)

(上面)此代码返回错误,所以我不知道这是否是正确的方法。
(如下)这种代码可以正常工作,但不会产生我想要的结果

def createTestingEnv(numberOfCells):
    # creates a simulated cell tissue
    row = list(range(numberOfCells + 1))  # +1 because range uses < not <=
    column = numberOfCells
    env = [[]]
    for i in range(numberOfCells):
        for j in range(numberOfCells):
            env.append(list(i))


    # env = list([row] * column)  # create a 2D array/list based on number of cells
    print(env)


createTestingEnv(3)

我是python的新手,我应该做些不同的事情吗? 还是我对此采取了完全错误的方法?如果是这样,我应该怎么做?

谢谢,Asher

2 个答案:

答案 0 :(得分:2)

如果数组需要用0填充,这应该可以工作:

last_chapter_date

答案 1 :(得分:1)

尝试

def make_array(n):
   return [ [0]*n for i in range(n)]