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

新手上路,请多包涵

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

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

阅读 399
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 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题