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

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

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

🍀 Желаем приятного изучения!
Download Telegram
Частичное сравнение: <= и >=

- 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
Методы frozenset

Имеет те же методы, что и set, кроме изменяющих (add, remove и т. д.).
👍5
Попытка добавления изменяемых объектов

Множества не могут содержать изменяемые объекты (списки, словари, другие множества). Но можно использовать frozenset:
valid = { frozenset({1, 2}) }  # OK
👍5
Производительность операций (таблица Big-O)
👍5
Хэширование и уникальность элементов

Множества используют хэши для быстрого поиска. Поэтому:
- Все элементы должны быть хешируемыми (hash(x) должен работать).
- list, dict, set — нехешируемые!
👍5
Поведение различных типов данных в множествах

- int, str, tuple — можно добавлять.
- list, dict, set — нельзя.
👍5
Удаление дубликатов из последовательностей

Простой способ удалить дубли:
numbers = [1, 2, 2, 3, 3]
unique = list(set(numbers)) # [1, 2, 3] (порядок может измениться)
👍5
Проверка на уникальность данных

data = [1, 2, 3, 2]
is_unique = len(data) == len(set(data)) # False (есть дубли)
👍5
Быстрая проверка принадлежности

Множества оптимизированы для x in s (гораздо быстрее, чем в списках!).
🔥4👍2
Сравнение наборов данных

A = {1, 2, 3}
B = {3, 4, 5}
common = A & B # {3}
👍5
Множества в задачах обработки данных

- Удаление дубликатов
- Поиск общих элементов
- Фильтрация данных
👍5
Использование в алгоритмах

- Поиск циклов в графах
- Проверка уникальности
- Операции над множествами (SQL-like фильтрация)
👍5
Работа с большими наборами данных

Множества эффективны при работе с большими данными благодаря O(1) для in, add, remove.
👍5