kateПредположим, есть список
Привет всем, ребят подскажите, как из одномерного массива(размерность у него всегда разная), сделать двумерный? просто у меня так получается, что до определенного момента удобнее работать с одномерным массивом, а потом использовать двумерный. Я прогуглила, но так и не поняла, может быть алгоритм какой есть? буду очень благодарна за любую помощь:)
l=[1,2,3,4,5,6,7,8,9]
l=[
[1,2,3],
[4,5,6],
[7,8,9]
]
l=[
[1,2,3,4,5],
[6,7,8,9, None]
]
>>> a.ravel() # делает массив плоским
array([ 7., 5., 9., 3., 7., 2., 7., 8., 6., 8., 3., 2.])
>>> a.shape = (6, 2)
>>> a.transpose()
array([[ 7., 9., 7., 7., 6., 3.],
[ 5., 3., 2., 8., 8., 2.]])
FishHookНу вот к примеру у меня есть массив Q = , насколько я понимаю он одномерный, так? а мне нужно обратится к нему, как к двумерному:
Короче, зависит от задачи. Давайте конкретный пример.
def funk(Q):
x = len(Q)
y = len(Q[0])
y = len(Q[0])
TypeError: object of type 'int' has no len()
kateскорее всего так и есть, можете описать задачу более полно? что это за функция и что она должна делать?
Может я конечно, что-то не так делаю и что-то не так понимаю
YanzayНу собственно сюда мне нужно передать массив вида Q = . Вызываю я эту функцию и ловлю ошибку про которую писала выше.kateскорее всего так и есть, можете описать задачу более полно? что это за функция и что она должна делать?
Может я конечно, что-то не так делаю и что-то не так понимаю
def funk(S):
x = len(S)
y = len(S[0])
result = [[0 for j in range(y)] for i in range(x)]
result[0][0] = S[0][0]
for i in range(1, x):
result[i][0] = S[i][0] + result[i - 1][0]
for i in range(1, y):
result[0][i] = S[0][i] + result[0][i - 1]
for i in range(1,x):
for j in range(1, y):
result[i][j] = S[i][j] + result[i - 1][j] + \
result[i][j - 1] + result[i - 1][j - 1]
return result