2013-09-21 1 views
14

Я пытаюсь преобразовать вложенный список списков в список кортежей в Python 3.3. Однако, похоже, у меня нет логики для этого.Как преобразовать вложенный список списков в список кортежей в python 3.3?

вход выглядит, как показано ниже:

>>> nested_lst = [['tom', 'cat'], ['jerry', 'mouse'], ['spark', 'dog']] 

И желаемая ouptput должен выглядеть именно так:

nested_lst_of_tuples = [('tom', 'cat'), ('jerry', 'mouse'), ('spark', 'dog')] 

ответ

22

Просто используйте список понимание:

nested_lst_of_tuples = [tuple(l) for l in nested_lst] 

Demo:

>>> nested_lst = [['tom', 'cat'], ['jerry', 'mouse'], ['spark', 'dog']] 
>>> [tuple(l) for l in nested_lst] 
[('tom', 'cat'), ('jerry', 'mouse'), ('spark', 'dog')] 
5

Вы можете использовать map():

>>> list(map(tuple, [['tom', 'cat'], ['jerry', 'mouse'], ['spark', 'dog']])) 
[('tom', 'cat'), ('jerry', 'mouse'), ('spark', 'dog')] 

Это эквивалентно список понимания, за исключением того, что map возвращает генератор вместо списка.

 Смежные вопросы

  • Нет связанных вопросов^_^