2017-08-08 47 views
0

我想要在Python中构建多维列表,其中维数在编写时(开发时)是未知的,但在运行时动态确定。在python中创建动态大小的多维列表

示例:如果我想创建一个n维网格,其中每个网格点对应于我创建的对象。 这里我想知道程序运行时变化n的算法。

+0

对于SOME的原因,我不能在这个问题中加上这个, 即,我希望代码在n = 2时创建这个,当n = 3时,这个代码创建这个 > [[,..,],..,[,..,] > [[[,..,],..,[,..,]],.....,[[,..,],..,[,..,]]] – Panch93

+1

请显示扩展示例。你试过什么了? – Igle

+0

另外,这是如何使用在你的程序/应用程序? – clabe45

回答

0

纯Python解决方案:

n = 2 
f = [[0.0 for _ in range(2)] for _ in range(3)] 
f[0][0] = 8 
print (f) 

n = 3 
f = [[[0.0 for _ in range(2)] for _ in range(3)] for _ in range(3)] 
f[0][0][0] = 5 
print (f) 

numpy解决方案:

快速入门教程:array-creation

n = 2 
f = np.zeros((2, 3,)) 

n = 3 
f = np.zeros((2, 3, 3)) 

输出

[[8,0.0],[0.0,0.0],[0.0,0.0]]
[[[5,0.0],[0.0,0.0],[0.0,0.0]],[[ 0.0,0.0],[0.0,0.0],[0.0,0.0]],[[0.0,0.0],[0.0,0.0],[0.0,0.0]]]