我想创建一个具有预定义大小的多维数组。在 CI 中会执行以下操作:
int multi_array[5][6][7];
如何在 Python 中创建这样的东西?
np.empty((5, 6, 7), dtype=int)
或者,如果你想让它填零,
np.zeros((5, 6, 7), dtype=int)
import numpy as np
a = np.ndarray((5,6,7), dtype=int)
注意: 该数组将包含创建时未分配内存中发生的任何垃圾。如果您稍后要使用数据填充此表单,您可能更喜欢使用此表单,以提高效率。否则,您可能更愿意使用np.zeros
。
请记住,这numpy
是一个非标准扩展,尽管您现在可以在大多数系统上找到它。如果您需要在纯 python 中执行此操作,您可以尝试以下操作:
multi_array = []
for i in xrange(5):
list2 = []
for j in xrange(6):
list3 = []
for k in xrange(7):
list3.append(0)
list2.append(list3)
multi_array.append(list2)
当然,更好的方法是动态执行此操作(在加载数据时左右),因为python
变量不打算像在C
.