Konvertieren Sie die Liste der Tupel zu mehreren Listen in Python

Angenommen, ich habe eine Liste von Tupeln und ich möchte in mehrere Listen umwandeln.

Zum Beispiel ist die Liste der Tupel

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

Gibt es eine eingebaute Funktion in Python, die es umwandelt:

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

Dies kann ein einfaches Programm sein. Aber ich bin nur neugierig auf die Existenz einer solchen eingebauten Funktion in Python.

4 Solutions collect form web for “Konvertieren Sie die Liste der Tupel zu mehreren Listen in Python”

Die eingebaute Funktion zip() wird fast tun, was Sie wollen:

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

Der einzige Unterschied ist, dass man Tupel anstelle von Listen bekommt. Sie können sie in Listen umwandeln

 map(list, zip(*[(1, 2), (3, 4), (5, 6)])) 

Aus der python docs :

Zip () in Verbindung mit dem * operator kann verwendet werden, um eine Liste zu entpacken:

Spezifisches Beispiel:

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

Oder, wenn Sie wirklich Listen wünschen:

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

Benutzen:

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

Hinzufügen zu Claudius und Claudius Antwort und da Karte aus itertools in python 3 importiert werden muss, benutzt man auch ein Listenverständnis wie:

 [[*x] for x in zip(*[(1,2),(3,4),(5,6)])] >>> [[1, 3, 5], [2, 4, 6]] 
  • Warum ist Tupel schneller als die Liste?
  • Mutate Tupel von Listen, die "'Tupel' Objekt nicht unterstützt Item Zuweisung" [Duplizieren]
  • Python - konvertierte Liste von Tupeln in String
  • Vertrauensberechnung in Assoziationsregel
  • Arbeiten mit Listen und Tupeln
  • Multidimension Histogramm in Python
  • Duplikate aus einer Liste von Tupeln entfernen
  • Erstellen Sie eine Reihe von Tupeln mit einer for-Schleife
  • Tupel mit kleinstem y-Wert aus der Liste der Tupel zurückgeben
  • Liste der bestellten Tupel als CSV speichern
  • Erstellen Sie eine Scheibe mit einem Tupel
  • Python ist die beste Programmiersprache der Welt.