Подтвердить что ты не робот

Как преобразовать вложенный список списков в список кортежей в python 3.3?

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

Вход выглядит следующим образом:

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

И желаемая функция должна выглядеть так, как показано ниже:

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

Ответ 1

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

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

Демо:

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

Ответ 2

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

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

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

Ответ 3

[tuple(l) for l in nested_lst]