Konvertieren einer Liste von Tupeln in ein Dict in Python
Habe ich eine Liste von Tupeln, wie diese:
[
('a', 1),
('a', 2),
('a', 3),
('b', 1),
('b', 2),
('c', 1),
]
Möchte ich Durchlaufen und das keying durch das erste Element, so zum Beispiel, das ich drucken konnte, so etwas wie dieses:
a 1 2 3
b 1 2
c 1
Wie würde ich gehen über das tun dies, ohne zu halten Sie ein Element nachverfolgen, ob das erste Element ist das gleiche wie I-Schleife Runde der Tupel. Das fühlt sich eher chaotisch (plus habe ich um die Liste zu Sortieren, um mit zu beginnen)...
Dank,
Dan
InformationsquelleAutor der Frage Dan | 2008-11-04
Du musst angemeldet sein, um einen Kommentar abzugeben.
produziert:
InformationsquelleAutor der Antwort Ned Batchelder
Etwas einfacher...
InformationsquelleAutor der Antwort S.Lott
Einer Lösung mit groupby
groupby(l, lambda x:x[0]) liefert einen iterator, mit ['a', [('a', 1), ...], c, [('c', 1)], ...]
InformationsquelleAutor der Antwort user7461
Ich würde nur die grundlegenden
Ob es diese kurzen, warum etwas kompliziert. Natürlich, wenn es Ihnen nichts ausmacht mit setdefault das ist auch okay.
InformationsquelleAutor der Antwort lacker
Drucken Liste von Tupeln Gruppierung durch das erste Element
Diese Antwort basiert auf @gommen eine.
Ausgabe:
InformationsquelleAutor der Antwort jfs