没有循环的Python多维数组初始化

新手上路,请多包涵

Python中有没有一种方法可以在不使用循环的情况下初始化多维数组/列表?

原文由 Leonid 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 402
2 个回答

当然 办法

arr = eval(`[[0]*5]*10`)

或者

arr = eval(("[[0]*5]+"*10)[:-1])

但这很可怕而且很浪费,所以每个人都使用循环(通常是列表理解)或 numpy

原文由 John La Rooy 发布,翻译遵循 CC BY-SA 2.5 许可协议

根据您的实际需要,事实上的“标准”包 Numpy 可能会为您提供您所需要的。

例如,您可以创建一个多维数组

numpy.empty((10, 4, 100))  # 3D array

(用 任意值 初始化)或创建相同的数组,到处都是

numpy.zeros((10, 4, 100))

Numpy 非常快,用于数组操作。

原文由 Eric O Lebigot 发布,翻译遵循 CC BY-SA 4.0 许可协议

推荐问题