web-dev-qa-db-ja.com

ネストされたリストのリストをpython 3.3のタプルのリストに変換する方法は?

ネストされたリストのリストをPython 3.3のタプルのリストに変換しようとしています。しかし、それを行うロジックがないようです。

入力は次のようになります。

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

そして、望ましい出力は次のように正確に見えるはずです:

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

リスト内包表記を使用するだけです。

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')]
33
Martijn Pieters

map() を使用できます:

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

これは、mapがリストではなくジェネレータを返すことを除いて、リスト内包表記と同じです。

7
TerryA
[Tuple(l) for l in nested_lst]
3
Ajit George