Вопрос по python – Python Matrix транспонировать и ZIP

8

Как получить транспонирование этой матрицы .. Любой более простой, алгоритмический способ сделать это ...

1-й вопрос:

<code> Input  a=[[1,2,3],[4,5,6],[7,8,9]]
 Expected output a=[[1, 4, 7], [2, 5, 8], [3, 6, 9]] 
</code>

2-й вопрос:

Zip дает мне следующий вывод, указанный ниже, как я могу zip, когда я не знаю, сколько элементов в массиве, в этом случае я знаю 3 элемента a [0], a [1], a [2], но как можно я застегиваю [n] элементы

<code> >>> zip(a[0],a[1],a[2])
 [(1, 4, 7), (2, 5, 8), (3, 6, 9)]
</code>

Ваш Ответ

3   ответа
3

Вы можете использовать numpy.transpose

numpy.transpose

>>> import numpy
>>> a = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
>>> numpy.transpose(a)
array([[1, 4, 7],
       [2, 5, 8],
       [3, 6, 9]])
12

ответы на вопросы:

>>> import numpy as np
>>> first_answer = np.transpose(a)
>>> second_answer = [list(i) for i in zip(*a)]

спасибо афг за помощь

Error: User Rate Limit Exceeded[list(i) for i in zip(*a)]Error: User Rate Limit Exceeded
Error: User Rate Limit Exceededmap(list, zip(*a))Error: User Rate Limit Exceeded[list(row) for row in zip(*a)]Error: User Rate Limit ExceededreallyError: User Rate Limit Exceeded
Error: User Rate Limit ExceededbothError: User Rate Limit Exceededzip(*a)Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded Rajeev
Error: User Rate Limit Exceeded Rajeev
15

использованиеzip(*a):

>>> zip(*a)
[(1, 4, 7), (2, 5, 8), (3, 6, 9)]

Как это работает: zip (* a) равен zip (a [0], a [1], a [2]).

Error: User Rate Limit Exceededmap(list, zip(*a))Error: User Rate Limit Exceeded

Похожие вопросы