Множина frozenset

Колекція frozenset — це незмінюваний аналог set. Вона надає всі можливості множини, але не дозволяє змінювати її елементи після створення. frozenset корисний у ситуаціях, коли потрібно зберігати унікальні елементи і гарантувати, що множина не буде змінена.

Створення frozenset

# Створення frozenset з списку
fset1 = frozenset([1, 2, 3, 4])
print(fset1)  # Вивід: frozenset({1, 2, 3, 4})

# Створення frozenset з рядка
fset2 = frozenset("hello")
print(fset2)  # Вивід: frozenset({'h', 'e', 'l', 'o'})

# Створення пустого frozenset
fset3 = frozenset()
print(fset3)  # Вивід: frozenset()

Основні методи frozenset

Об'єднання множин (union)

fset1 = frozenset([1, 2, 3, 4])
fset2 = frozenset([3, 4, 5, 6])

# Об'єднання множин (union)
print(fset1 | fset2)  # Вивід: frozenset({1, 2, 3, 4, 5, 6})
print(fset1.union(fset2))  # Вивід: frozenset({1, 2, 3, 4, 5, 6})

Перетинання множин (intersection)

fset1 = frozenset([1, 2, 3, 4])
fset2 = frozenset([3, 4, 5, 6])

# Перетинання множин 
(intersection)

print(fset1 & fset2)  # Вивід: frozenset({3, 4})
print(fset1.intersection(fset2))  # Вивід: frozenset({3, 4})

Різниця множин (difference)

fset1 = frozenset([1, 2, 3, 4])
fset2 = frozenset([3, 4, 5, 6])

# Різниця множин (difference)
print(fset1 - fset2)  # Вивід: frozenset({1, 2})
print(fset1.difference(fset2))  # Вивід: frozenset({1, 2})

Симетрична різниця (symmetric difference)

fset1 = frozenset([1, 2, 3, 4])
fset2 = frozenset([3, 4, 5, 6])

# Симетрична різниця (symmetric difference)
print(fset1 ^ fset2)  # Вивід: frozenset({1, 2, 5, 6})
print(fset1.symmetric_difference(fset2))  # Вивід: frozenset({1, 2, 5, 6})

Застосування frozenset

Використання як ключ у словниках:

fset1 = frozenset([1, 2, 3])
fset2 = frozenset([3, 4, 5])

d = {fset1: "first", fset2: "second"}
print(d)  # Вивід: {frozenset({1, 2, 3}): 'first', frozenset({3, 4, 5}): 'second'}
2015-2026 © SumyNikNet