8.1 set-Tupel
Die Sammlung frozenset
ist ein
unveränderliches Gegenstück zum set
. Sie bietet alle Möglichkeiten einer Menge, erlaubt aber nicht,
die Elemente nach der Erstellung zu ändern. frozenset
ist nützlich in Situationen,
in denen einzigartige Elemente gespeichert werden müssen und man sicherstellen möchte, dass
die Menge nicht verändert wird.
Erstellen eines frozenset
Um ein frozenset
zu erstellen, kann die Funktion frozenset()
verwendet werden,
indem ihr ein iterierbares Objekt (Liste, Tupel, String usw.) übergeben wird.
Beispiele:
Erstellen eines frozenset
aus einer Liste
# Erstellung frozenset aus einer Liste
fset1 = frozenset([1, 2, 3, 4])
print(fset1) # Ausgabe: frozenset({1, 2, 3, 4})
Erstellen eines frozenset
aus einem String
# Erstellung frozenset aus einem String
fset2 = frozenset("hello")
print(fset2) # Ausgabe: frozenset({'h', 'e', 'l', 'o'})
Erstellen eines leeren frozenset
# Erstellung eines leeren frozenset
fset3 = frozenset()
print(fset3) # Ausgabe: frozenset()
8.2 Hauptmethoden von frozenset
frozenset
unterstützt die meisten Methoden, die für veränderliche Mengen
(set)
verfügbar sind, aber da es unveränderlich ist, sind Methoden, die die Menge verändern, nicht verfügbar.
Beispiele:
Vereinigung von Mengen (union)
fset1 = frozenset([1, 2, 3, 4])
fset2 = frozenset([3, 4, 5, 6])
# Vereinigung von Mengen (union)
print(fset1 | fset2) # Ausgabe: frozenset({1, 2, 3, 4, 5, 6})
print(fset1.union(fset2)) # Ausgabe: frozenset({1, 2, 3, 4, 5, 6})
Schnittmenge von Mengen (intersection)
fset1 = frozenset([1, 2, 3, 4])
fset2 = frozenset([3, 4, 5, 6])
# Schnittmenge von Mengen (intersection)
print(fset1 & fset2) # Ausgabe: frozenset({3, 4})
print(fset1.intersection(fset2)) # Ausgabe: frozenset({3, 4})
Differenz von Mengen (difference)
fset1 = frozenset([1, 2, 3, 4])
fset2 = frozenset([3, 4, 5, 6])
# Differenz von Mengen (difference)
print(fset1 - fset2) # Ausgabe: frozenset({1, 2})
print(fset1.difference(fset2)) # Ausgabe: frozenset({1, 2})
Symmetrische Differenz (symmetric difference)
fset1 = frozenset([1, 2, 3, 4])
fset2 = frozenset([3, 4, 5, 6])
# Symmetrische Differenz (symmetric difference)
print(fset1 ^ fset2) # Ausgabe: frozenset({1, 2, 5, 6})
print(fset1.symmetric_difference(fset2)) # Ausgabe: frozenset({1, 2, 5, 6})
8.3 Anwendung von frozenset
frozenset
ist nützlich in den folgenden Situationen:
Verwendung als Schlüssel in Dictionaries:
Da frozenset
unveränderlich ist, kann es als Schlüssel in Dictionaries verwendet werden.
fset1 = frozenset([1, 2, 3])
fset2 = frozenset([3, 4, 5])
d = {fset1: "erstes", fset2: "zweites"}
print(d) # Ausgabe: {frozenset({1, 2, 3}): 'erstes', frozenset({3, 4, 5}): 'zweites'}
Speichern unveränderlicher Mengen:
Wenn eine Menge von einzigartigen Elementen erstellt werden muss, die später nicht verändert werden darf, ist frozenset
eine ausgezeichnete Wahl.
Datensicherheit:
Die Verwendung von frozenset
stellt sicher, dass Daten während der Ausführung des Programms nicht versehentlich geändert werden.
GO TO FULL VERSION