Найти - Пользователи
Полная версия: Как создать многомерный массив ??
Начало » Python для новичков » Как создать многомерный массив ??
1
jinjer21
Как проще создать 4-х мерный массив(3x3x3x3)

Проще вот этого:

 masx=[[[[0,0,0] for masx in range(3)]for masx in range(3)]for masx in range(3)]
asv13
numpy.scipy.org

>>> import numpy as np
>>> np.zeros((3,3,3))
array([[[ 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.]]])
cookie-god
Можно и так
def ndim(value,dims):
return reduce(lambda x,y:[x or value for i in xrange(y)],[None]+list(dims[::-1]))
ndim(0,(3,3,3,3))
[[[[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, 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, 0], [0, 0, 0]], [[0, 0, 0], [0, 0, 0], [0, 0, 0]]]]
>>> [[[[0,0,0] for masx in range(3)]for masx in range(3)]for masx in range(3)]
[[[[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, 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, 0], [0, 0, 0]], [[0, 0, 0], [0, 0, 0], [0, 0, 0]]]]
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB