1

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

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

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

4

3 回答 3

3
np.empty((5, 6, 7), dtype=int)

或者,如果你想让它填零,

np.zeros((5, 6, 7), dtype=int)
于 2012-11-14T12:55:22.083 回答
2
import numpy as np
a = np.ndarray((5,6,7), dtype=int)

注意: 该数组将包含创建时未分配内存中发生的任何垃圾。如果您稍后要使用数据填充此表单,您可能更喜欢使用此表单,以提高效率。否则,您可能更愿意使用np.zeros

于 2012-11-14T12:54:48.883 回答
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.

于 2012-11-14T13:27:49.557 回答