Code: Alles auswählen
a = [[1, 5, 7], [9, 2, 6], [7, 8, 1]]
print sorted(reduce(lambda x, y: x | y, map(set, a), set()))
Code: Alles auswählen
a = [[1, 5, 7], [9, 2, 6], [7, 8, 1]]
b = set()
for x in a:
b |= set(x)
print sorted(b)
Danke
HWK
Code: Alles auswählen
a = [[1, 5, 7], [9, 2, 6], [7, 8, 1]]
print sorted(reduce(lambda x, y: x | y, map(set, a), set()))
Code: Alles auswählen
a = [[1, 5, 7], [9, 2, 6], [7, 8, 1]]
b = set()
for x in a:
b |= set(x)
print sorted(b)
Code: Alles auswählen
from itertools import chain
a = [[1, 5, 7], [9, 2, 6], [7, 8, 1]]
print sorted(set(chain(*a)))
Trotzdem blackbird schon eine sinnvolle Lösung gepostet hat, muss ich hier nochmal einhaken, dass die for-Schleife unnötige Sets erstellt. Viel besser nutzt man hier set.update().HWK hat geschrieben:Seitdem ich gelesen habe, dass reduce verschwinden soll, brauche ich es immer häufiger. Ich möchte jetzt z.B. mehrere Listen in eine geordnete zusammenfassen, in der jeder Wert nur einmal vorkommt. Mit reduce habe ich diese Variante gefunden:Ohne reduce habe ich es nur so hinbekommen:Code: Alles auswählen
a = [[1, 5, 7], [9, 2, 6], [7, 8, 1]] print sorted(reduce(lambda x, y: x | y, map(set, a), set()))
Findet jemand eine schönere, möglichst funktionale Lösung?Code: Alles auswählen
a = [[1, 5, 7], [9, 2, 6], [7, 8, 1]] b = set() for x in a: b |= set(x) print sorted(b)