如何制作以下三维数组?

时间:2016-10-06 18:00:59

标签: python arrays python-2.7

我有一个大小为N * N * N的多维数据集,比如N=8。立方体的每个维度都离散为1,因此我标记了点(0,0,0), (0,0,1)..(N,N,N)。在每个标记点,我想分配一个随机值,从而产生一个存储每个顶点值的数组。例如val[0,0,0]=1, val[0,0,1]=1.2 val[0,1,0]=1.3,...

如何编写python代码来实现这一目标?

3 个答案:

答案 0 :(得分:1)

您可以简单地生成列表列表。虽然效率不高,但它允许您像val[0][0][0]一样访问您的多维数据集。

arr = [[[] for _ in range(8)] for _ in range(8)]

arr[0][0].append(1)

答案 1 :(得分:1)

你的意思是:

import numpy as np
n = 5
val = np.empty((n, n, n)) # Create an 3d array full of 0's
val[0,0,0] = 11
val[0,0,1] = 33 
print(val[0, 0])
array([ 11.,  33.,   0.,   0.,   0.])

答案 2 :(得分:0)

对于大型矩阵,请查看使用numpy。这是它旨在解决的问题