python中具有预定义大小的多维数组

时间:2012-11-14 12:52:57

标签: python numpy

我想创建一个具有预定义大小的多维数组。在C中,我将执行以下操作:

int multi_array[5][6][7];

如何在Python中创建这样的东西?

3 个答案:

答案 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中首先声明。