python - 如何在 Python 中创建由多个对象组成的 3D 数组?

标签 python multidimensional-array nested-lists

我知道如果我想在 Python 中创建 3D 数组,我可以这样做:

[[['#' for i in range(3)] for j in range(3)] for k in range(3)]

也就是说,如果我想在 3D 数组中包含另一个符号怎么办? 例如,如果我想在数组中交替使用“#”和“-”怎么办?或者如果我想要连续两个“#”,后跟一个“-”怎么办?我怎么能写出这样的东西呢? 感谢您抽出时间。

最佳答案

尝试使用 itertools.cycle :

import itertools
it = itertools.cycle(['#', '-', '#'])
print([[[next(it) for i in range(3)] for j in range(3)] for k in range(3)])

输出:

[[['#', '-', '#'], ['#', '-', '#'], ['#', '-', '#']], [['#', '-', '#'], ['#', '-', '#'], ['#', '-', '#']], [['#', '-', '#'], ['#', '-', '#'], ['#', '-', '#']]]

关于python - 如何在 Python 中创建由多个对象组成的 3D 数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65376457/

相关文章:

python - 只有 1 个事件键有效

Python:填写表格并单击按钮确认

python - 检查python中的多个条件

python - 列表列表更改意外地反射(reflect)在子列表中

javascript - 两个嵌套 ng-repeat 上的 Angular 自定义过滤

python - Conda 不会安装 pdfplumber

c# - 编译器错误 : Invalid rank specifier: expected' ,' or ' ]' on Two Dimensional Array Initialization

python - 从椭球置信区域均匀采样

c - 动态地为可变大小的结构数组分配空间

python - 删除列表中包含的子列表