Как определить 'func' и 'iter' в карте (func, iter) динамически? - PullRequest
0 голосов
/ 13 сентября 2018

Предположим, у меня есть этот список списков

M = [[2,4,2,6],[5,7,2,3],[3,43,1,6]]

Запуск

print(list(map(lambda i,j,k: (i,j,k), M[0],M[1],M[2])))

Возвращает

[(2, 5, 3), (4, 7, 43), (2, 2, 1), (6, 3, 6)]

Вопрос: Есть лиспособ сделать это динамически?То есть сделать что-то записанное (предпочтительно в одну строку), что делает это для любого списка из n списков?Я хотел бы что-то вроде

X = [[4,2,2], ..., [9,4,1]]
expression(X)

, которое возвращает

[(4, ..., 9), (2, ..., 4), (2, ..., 1)]

1 Ответ

0 голосов
/ 13 сентября 2018

Вы можете использовать zip

Ex:

M = [[2,4,2,6],[5,7,2,3],[3,43,1,6]]
print(list(zip(*M)))

Выход:

[(2, 5, 3), (4, 7, 43), (2, 2, 1), (6, 3, 6)]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...