SmartView · Python | Изучение Python
130 subscribers
373 photos
17 links
📖 Обучение языку программирования Python с самого начала: кратко, интересно и понятно!

📚 Мы стараемся преподавать самое важное в Python, чтобы вас не нагружать.

⚡️ Boost канала: https://t.me/boost/SV_Python

🍀 Желаем приятного изучения!
Download Telegram
Добавление элементов: add() vs update()

Метод add():
numbers = {1, 2}
numbers.add(3) # {1, 2, 3}
numbers.add(2) # Ничего не изменится


Метод update():
numbers.update([4, 5])      # {1, 2, 3, 4, 5}
numbers.update({6, 7}) # Добавляет 6 и 7
numbers.update("abc") # Добавит 'a', 'b', 'c'
👍6
Удаление элементов: 3 способа


1. remove() - строгий метод:
s = {1, 2, 3}
s.remove(2) # {1, 3}
s.remove(4) # KeyError!



2. discard() - безопасный метод:
s.discard(3)     # {1}
s.discard(99) # Ничего не произойдет



3. pop() - удаление случайного элемента:
elem = s.pop()   # Удаляет и возвращает любой элемент
👍5
Очистка множества: clear()

s = {1, 2, 3}
s.clear() # Полностью очищает множество
print(s) # set()
👍5👏1
Проверка принадлежности: оператор in

fruits = {"apple", "banana"}
print("apple" in fruits) # True
print("orange" not in fruits) # True
👍6
Длина множества: len()

numbers = {1, 2, 3}
print(len(numbers)) # 3
👍6
Объединение множеств

Метод union():
a = {1, 2}; b = {2, 3}
c = a.union(b) # {1, 2, 3}


Оператор "|":
d = a | b  # Аналогично union()
👍6
Пересечение множеств

Метод intersection():
a = {1, 2, 3}; b = {2, 3, 4}
c = a.intersection(b) # {2, 3}


Оператор "&":
d = a & b  # Аналогично intersection()
👍6👀1
Разность множеств

Метод difference():

a = {1, 2, 3}; b = {2, 3, 4}
c = a.difference(b) # {1}


Оператор "-":
d = a - b  # Аналогично d
👍5👏1
Симметричная разность:

Метод symmetric_difference():

a = {1, 2, 3}; b = {2, 3, 4}
c = a.symmetric_difference(b) # {1, 4}


Оператор "^":

d = a ^ b  # Аналогично symmetric_difference()
👍6
Подмножества: issubset()

Проверяет, все ли элементы A есть в B:
A = {1, 2}
B = {1, 2, 3}
print(A.issubset(B)) # True
👍5👏1
Надмножества: issuperset()

Проверяет, содержит ли A все элементы B:
A = {1, 2, 3}
B = {1, 2}
print(A.issuperset(B)) # True
👍6
Непересекающиеся множества: isdisjoint()

Проверяет, нет ли общих элементов:
A = {1, 2}
B = {3, 4}
print(A.isdisjoint(B)) # True
👍5👏1
Проверка равенства: == и !=

Множества равны, если содержат одинаковые элементы (порядок не важен):
A = {1, 2, 3}
B = {3, 2, 1}
print(A == B) # True
👍6
Собственные подмножества и надмножества

- Собственное подмножество (<) – A содержится в B, но не равно B.
- Собственное надмножество (>) – A содержит B, но не равно B.

Пример:
A = {1, 2}
B = {1, 2, 3}
print(A < B) # True (A — собственное подмножество B)
👍6
Частичное сравнение: <= и >=

- A <= B → A является подмножеством B (включая равенство).
- A >= B → A является надмножеством B.
👍6
Синтаксис множественных включений

Аналог списковых включений:
squares = {x ** 2 for x in range(5)}  # {0, 1, 4, 9, 16}
👍6
Примеры использования генераторов

Можно создавать множества из генераторов:
even_numbers = {x for x in range(10) if x % 2 == 0}  # {0, 2, 4, 6, 8}
👍7
Фильтрация элементов в генераторах

Можно фильтровать элементы при создании:
words = {"hello", "world", "python"}
filtered = {word for word in words if len(word) > 5} # {'python'}
👍5
Что такое frozenset?

Это неизменяемое множество. Его нельзя изменить после создания.
👍51👀1
Создание и использование frozenset

fs = frozenset([1, 2, 3])
print(fs) # frozenset({1, 2, 3})
👍5
Применение frozenset как ключей словаря

Поскольку frozenset неизменяем, его можно использовать как ключ:
d = {frozenset({1, 2}): "value"}
print(d) # {frozenset({1, 2}): 'value'}
👍5