CodeGym /Kursy /Python SELF PL /Niezmienny zbiór — frozenset

Niezmienny zbiór — frozenset

Python SELF PL
Poziom 10 , Lekcja 6
Dostępny

8.1 Krotka set

Kolekcja frozenset to niezmienny odpowiednik set. Oferuje wszystkie możliwości zbiorów, ale nie pozwala zmieniać jego elementów po utworzeniu. frozenset jest przydatny w sytuacjach, gdy trzeba przechowywać unikalne elementy i zapewnić, że zbiór nie zostanie zmieniony.

Tworzenie frozenset

Aby stworzyć frozenset, można użyć funkcji frozenset(), przekazując do niej obiekt iterowalny (lista, krotka, string itp.).

Przykłady:

Tworzenie frozenset z listy


# Tworzenie frozenset z listy
fset1 = frozenset([1, 2, 3, 4])
print(fset1)  # Wyjście: frozenset({1, 2, 3, 4})

Tworzenie frozenset z ciągu znaków


# Tworzenie frozenset z ciągu znaków
fset2 = frozenset("hello")
print(fset2)  # Wyjście: frozenset({'h', 'e', 'l', 'o'})

Tworzenie pustego frozenset


# Tworzenie pustego frozenset
fset3 = frozenset()
print(fset3)  # Wyjście: frozenset()
        

8.2 Podstawowe metody frozenset

frozenset wspiera większość metod dostępnych dla zmiennych zbiorów (set), ale ponieważ jest niezmienny, metody, które zmieniają zbiór, są niedostępne.

Przykłady:

Łączenie zbiorów (union)


fset1 = frozenset([1, 2, 3, 4])
fset2 = frozenset([3, 4, 5, 6])
            
# Łączenie zbiorów (union)
print(fset1 | fset2)  # Wyjście: frozenset({1, 2, 3, 4, 5, 6})
print(fset1.union(fset2))  # Wyjście: frozenset({1, 2, 3, 4, 5, 6})
        

Część wspólna zbiorów (intersection)


fset1 = frozenset([1, 2, 3, 4])
fset2 = frozenset([3, 4, 5, 6])
            
# Część wspólna zbiorów (intersection)
print(fset1 & fset2)  # Wyjście: frozenset({3, 4})
print(fset1.intersection(fset2))  # Wyjście: frozenset({3, 4})
        

Różnica zbiorów (difference)


fset1 = frozenset([1, 2, 3, 4])
fset2 = frozenset([3, 4, 5, 6])
            
# Różnica zbiorów (difference) 
print(fset1 - fset2)  # Wyjście: frozenset({1, 2})
print(fset1.difference(fset2))  # Wyjście: frozenset({1, 2})
        

Różnica symetryczna (symmetric difference)


fset1 = frozenset([1, 2, 3, 4])
fset2 = frozenset([3, 4, 5, 6])
            
# Różnica symetryczna (symmetric difference)
print(fset1 ^ fset2)  # Wyjście: frozenset({1, 2, 5, 6})
print(fset1.symmetric_difference(fset2))  # Wyjście: frozenset({1, 2, 5, 6})
        

8.3 Zastosowanie frozenset

frozenset jest przydatny w następujących sytuacjach:

Użycie jako klucz w słownikach:

Ponieważ frozenset jest niezmienny, można go używać jako klucz w słownikach.


fset1 = frozenset([1, 2, 3])
fset2 = frozenset([3, 4, 5])
        
d = {fset1: "first", fset2: "second"}
print(d)  # Wyjście: {frozenset({1, 2, 3}): 'first', frozenset({3, 4, 5}): 'second'}
    

Przechowywanie niezmiennych zbiorów:

Jeśli trzeba utworzyć zbiór unikalnych elementów, który nie będzie zmieniany w przyszłości, frozenset — jest świetnym wyborem.

Bezpieczeństwo danych:

Użycie frozenset pozwala zagwarantować, że dane nie zostaną przypadkowo zmienione w trakcie działania programu.

1
Опрос
Praca z napisami,  10 уровень,  6 лекция
недоступен
Praca z napisami
Praca z napisami
Komentarze
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION