Python Programming

Python List-Unions meistern

Spread the love

Python bietet verschiedene Möglichkeiten, Listen zu kombinieren, abhängig davon, ob doppelte Einträge beibehalten werden sollen und ob die Reihenfolge wichtig ist. Diese Anleitung untersucht verschiedene Techniken zur effizienten Behandlung von Listenvereinigungen.

Inhaltsverzeichnis

Vereinigung mit doppelten Elementen

Die einfachste Möglichkeit, zwei Listen zu kombinieren und alle Elemente mit ihren Wiederholungen zu erhalten, ist die Verwendung des +-Operators:


list1 = [1, 2, 2, 3]
list2 = [3, 4, 2]

union_list = list1 + list2
print(union_list)  # Ausgabe: [1, 2, 2, 3, 3, 4, 2]

Sortierte Vereinigung

Für eine sortierte Vereinigung kombinieren Sie den +-Operator mit der Funktion sorted():


list1 = [1, 2, 2, 3]
list2 = [3, 4, 2]

union_list = sorted(list1 + list2)
print(union_list)  # Ausgabe: [1, 2, 2, 2, 3, 3, 4]

Vereinigung ohne doppelte Elemente

Um eine Vereinigung ohne Duplikate zu erstellen, verwenden Sie Sets:


list1 = [1, 2, 2, 3]
list2 = [3, 4, 2]

union_set = set(list1) | set(list2)  # oder set(list1).union(list2)
union_list = list(union_set)  # Falls nötig, wieder in eine Liste konvertieren
print(union_list)  # Ausgabe: [1, 2, 3, 4] (Reihenfolge kann variieren)

Sets entfernen automatisch Duplikate. Beachten Sie, dass die Reihenfolge der Elemente in der resultierenden Liste möglicherweise nicht mit der in den ursprünglichen Listen übereinstimmt.

Vereinigung mehrerer Listen

Für mehr als zwei Listen bleibt der Set-Ansatz effizient:


list1 = [1, 2, 3]
list2 = [3, 4, 5]
list3 = [5, 6, 1]

union_set = set(list1) | set(list2) | set(list3)
union_list = list(union_set)
print(union_list)  # Ausgabe: [1, 2, 3, 4, 5, 6] (Reihenfolge kann variieren)

# Skalierbarere Lösung mit reduce:
from functools import reduce
union_list = list(reduce(lambda x,y: x | y, [set(l) for l in [list1, list2, list3]]))
print(union_list) # Ausgabe: [1, 2, 3, 4, 5, 6] (Reihenfolge kann variieren)

Die Funktion reduce bietet eine prägnantere und skalierbarere Lösung für viele Listen. Denken Sie daran, dass die Reihenfolge der Elemente möglicherweise nicht erhalten bleibt; verwenden Sie sorted(), wenn die Reihenfolge wichtig ist.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert