2015-12-01 2 views
0

Так что я хочу изменить эту вложенную (список) позволяет называть его XВложенные манипуляции списком, требуется двойной forloop?

[['What if?', ' 2014', ' Randall Munroe'], ['Thing Explainer', ' 2015', ' Randall Munroe'], ['Alan Turing: The Enigma', ' 2014', ' Andrew Hodges']] 

Для этого вложенного (список) позволяет ему Y

[['What if', 'Thing Explainer', 'Alan Turing: The Enigma'], [ 2014,2015,2014], ['Randall Munroe, Randall Munroe, 'Andrew Hodges']] 

Первый член в Y является первым элементом в термин Ith в X.

['What if', 'Thing Explainer', 'Alan Turing: The Enigma'] 

второй член в Y является вторым элементом в перспективе в X-го

['Randall Munroe, Randall Munroe, 'Andrew Hodges'] 

Может ли кто-нибудь поделиться мысленным процессом и решениями в python?

+0

'map (list, zip (* X))' – Amadan

ответ

0
map (list, zip(*[['What if?', ' 2014', ' Randall Munroe'], ['Thing Explainer', ' 2015', ' Randall Munroe'], ['Alan Turing: The Enigma', ' 2014', ' Andrew Hodges']])) 

Это сделает вас именно то, что вам нужно.

+0

Но я хочу, чтобы вложенный список возвращался, если я делаю это по-вашему, это происходит a = map (list, zip (* [[' Что, если? ',' 2014 ',' Рэндалл Мунро '], [' Thing Explainer ',' 2015 ',' Randall Munroe '], [' Alan Turing: The Enigma ',' 2014 ',' Andrew Hodges ']])) print (a) <объект карты в 0x101e0f438> –

+1

Просто преобразовал его в список объектов, спасибо !!! –

1

Вы должны использовать встроенную функцию zip в Python.

>>> zip(*[['What if?', ' 2014', ' Randall Munroe'], ['Thing Explainer', ' 2015', ' Randall Munroe'], ['Alan Turing: The Enigma', ' 2014', ' Andrew Hodges']]) 

Существует более документация находится на https://docs.python.org/3/library/functions.html#zip

+0

Вам нужно будет распаковать аргументы функции 'zip' i.e.' zip (* your_list) '. – AKS

+0

Да, я все еще хочу вернуть вложенный цикл –

0

Я не уверен, что пакеты, которые вы хотите/не хотите использовать. Но numpy может сделать это довольно легко:

import numpy as np 
dat = [['What if?', ' 2014', ' Randall Munroe'], ['Thing Explainer', ' 2015', ' Randall Munroe'], ['Alan Turing: The Enigma', ' 2014', ' Andrew Hodges']] 
np.array(dat).T.tolist() 
# [['What if?', 'Thing Explainer', 'Alan Turing: The Enigma'], 
# [' 2014', ' 2015', ' 2014'], 
# [' Randall Munroe', ' Randall Munroe', ' Andrew Hodges']] 
+0

Извините, не могу ничего импортировать: S –