我想创建一个具有预定义大小的多维数组。在C中,我将执行以下操作:
int multi_array[5][6][7];
如何在Python中创建这样的东西?
答案 0 :(得分:2)
import numpy as np
a = np.ndarray((5,6,7), dtype=int)
note:此数组将包含创建时未分配内存中发生的任何垃圾。如果您打算稍后使用此数据填充此表单,您可能更愿意使用此表单,以提高效率。否则,您可能更愿意使用np.zeros
。
答案 1 :(得分:2)
np.empty((5, 6, 7), dtype=int)
或者,如果你想要零填充,
np.zeros((5, 6, 7), dtype=int)
答案 2 :(得分:1)
请记住,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
中首先声明。