如何在python中创建三维数组

如何在python中创建三维数组,python,multidimensional-array,Python,Multidimensional Array,我一直在用python编写康威生命模拟的简单版本 首先,我使用下面的代码初始化了一个二维数组(我可能是在这个网站上学到的) …我通过存储或检查,a[2][5]或您拥有的任何内容来访问该数组中的单元格 这很有效。但是现在我意识到我需要创建第二个数组,与第一个数组相同,它将存储我在第一个数组上执行的计算结果 我知道我可以通过重复完全相同的代码来生成第二个数组,但是可以调用第二个数组b而不是a。但是,如果我把它做成一个三维数组,那将是一种更酷、更干净的处理方式,而我引入的新维度只有两个单位“宽”。。。

我一直在用python编写康威生命模拟的简单版本

首先,我使用下面的代码初始化了一个二维数组(我可能是在这个网站上学到的)

…我通过存储或检查,a[2][5]或您拥有的任何内容来访问该数组中的单元格

这很有效。但是现在我意识到我需要创建第二个数组,与第一个数组相同,它将存储我在第一个数组上执行的计算结果

我知道我可以通过重复完全相同的代码来生成第二个数组,但是可以调用第二个数组b而不是a。但是,如果我把它做成一个三维数组,那将是一种更酷、更干净的处理方式,而我引入的新维度只有两个单位“宽”。。。它只有0和1

因此,与上面的内容相呼应,我希望最终结果有我的数组,这样我就可以检查[1][2][5]的值。。。或[0][2][5]

但是,您能告诉我如何初始化该数组吗?类似于我上面粘贴的初始化循环。。。但是有额外的级别吗?:)

谢谢

包含两个大小为n的矩阵的数组 包含大小为n的m个矩阵的数组 包含两个大小不断增大的数组的数组
你真的看过你函数的输出了吗?是的,这就是被问到的,他并没有要求一个矩阵,只是在玩了一会儿之后,你的第二个似乎在做这个把戏。谢谢我希望我能看一份清单。。。在这种混乱的背景下。。。你有没有考虑过使用
numpy
?首先,作为初学者,我不愿意使用另一个库,但使用
numpy
操作数组确实很舒服。我很高兴我在这方面付出了努力。在未来,对于任何一个大项目,我可能都会这样做。但就这件事而言,我正试图为自己制作一个精干的小程序而自豪,所以我宁愿把依赖性排除在外。。。但我很感激你的评论。。。我记得,人们可以使用库以更正常的方式创建数组
def makearray():
    for i in range(n):
        a.append(['x'] * m)
def makematrix(n):
    return [['x'] * n for i in range(n)]

threeD = [makematrix(5), makematrix(5)]
def makematrix(n):
    return [['x'] * n for i in range(n)]

def makearray(m, n):
    return [makematrix(n) for i in range(m)]

threeD = makearray(4, 5)
def makearray(n):
    return [['x'] * i for i in range(n)]

threeD = [makearray(5), makearray(5)]