Уведомления

Группа в Telegram: @pythonsu

#1 Март 21, 2011 15:55:16

jinjer21
От:
Зарегистрирован: 2011-03-21
Сообщения: 1
Репутация: +  0  -
Профиль   Отправить e-mail  

Как создать многомерный массив ??

Как проще создать 4-х мерный массив(3x3x3x3)

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

 masx=[[[[0,0,0] for masx in range(3)]for masx in range(3)]for masx in range(3)]



Офлайн

#2 Март 21, 2011 16:26:44

asv13
От:
Зарегистрирован: 2007-01-22
Сообщения: 130
Репутация: +  0  -
Профиль   Отправить e-mail  

Как создать многомерный массив ??

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.]]])



Офлайн

#3 Март 21, 2011 21:08:13

cookie-god
От:
Зарегистрирован: 2011-03-13
Сообщения: 41
Репутация: +  0  -
Профиль   Отправить e-mail  

Как создать многомерный массив ??

Можно и так

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]]]]



Отредактировано (Март 21, 2011 21:10:23)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version