146 votes

Comment convertir une liste de tuples en listes multiples ?

Supposons que j'ai une liste de tuples et que je veux la convertir en listes multiples.

Par exemple, la liste des tuples est

[(1,2),(3,4),(5,6),]

Existe-t-il une fonction intégrée dans Python qui le convertit en :

[1,3,5],[2,4,6]

Il peut s'agir d'un programme simple. Mais je suis juste curieux de savoir s'il existe une telle fonction intégrée dans Python.

3voto

Eric Lin Points 21

En plus de la réponse de Claudiu, vous pouvez utiliser :

>>>a, b = map(list, zip(*[(1, 2), (3, 4), (5, 6)]))
>>>a
[1,3,5]
>>>b
[2,4,6]

Modifié selon @Peyman mohseni kiasari

1 votes

Non ! Cela vous donnera (1, 3, 5) y (2, 4, 6) pas des listes. Vous devez utiliser map(list, zip(*[(1, 2), (3, 4), (5, 6)]))

0voto

Quickbeam2k1 Points 2111

Pour compléter la réponse de Claudiu et Claudiu et puisque map doit être importé de itertools dans python 3, vous pouvez également utiliser une compréhension de liste comme :

[[*x] for x in zip(*[(1,2),(3,4),(5,6)])]
>>> [[1, 3, 5], [2, 4, 6]]

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X