ネストされたリストのリストをPython 3.3のタプルのリストに変換しようとしています。しかし、それを行うロジックがないようです。
入力は次のようになります。
>>> nested_lst = [['tom', 'cat'], ['jerry', 'mouse'], ['spark', 'dog']]
そして、望ましい出力は次のように正確に見えるはずです:
nested_lst_of_tuples = [('tom', 'cat'), ('jerry', 'mouse'), ('spark', 'dog')]
リスト内包表記を使用するだけです。
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')]
map()
を使用できます:
>>> list(map(Tuple, [['tom', 'cat'], ['jerry', 'mouse'], ['spark', 'dog']]))
[('tom', 'cat'), ('jerry', 'mouse'), ('spark', 'dog')]
これは、map
がリストではなくジェネレータを返すことを除いて、リスト内包表記と同じです。
[Tuple(l) for l in nested_lst]