J'essaie de convertir une liste imbriquée de listes en une liste de tuples en Python 3.3. Cependant, il semble que je n'ai pas la logique pour le faire.
L'entrée ressemble à ci-dessous:
>>> nested_lst = [['tom', 'cat'], ['jerry', 'mouse'], ['spark', 'dog']]
Et la sortie souhaitée devrait ressembler exactement comme suit:
nested_lst_of_tuples = [('tom', 'cat'), ('jerry', 'mouse'), ('spark', 'dog')]
Utilisez simplement une liste de compréhension:
nested_lst_of_tuples = [Tuple(l) for l in nested_lst]
Démo:
>>> nested_lst = [['tom', 'cat'], ['jerry', 'mouse'], ['spark', 'dog']]
>>> [Tuple(l) for l in nested_lst]
[('tom', 'cat'), ('jerry', 'mouse'), ('spark', 'dog')]
Vous pouvez utiliser map()
:
>>> list(map(Tuple, [['tom', 'cat'], ['jerry', 'mouse'], ['spark', 'dog']]))
[('tom', 'cat'), ('jerry', 'mouse'), ('spark', 'dog')]
Cela équivaut à une compréhension de liste, sauf que map
renvoie un générateur au lieu d'une liste.
[Tuple(l) for l in nested_lst]