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

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

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

🍀 Желаем приятного изучения!
Download Telegram
Методы 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
🎯 Модуль 12, задание 12.3

Как создать множество из списка [1, 2, 2, 3]?
Anonymous Quiz
0%
{1, 2, 2, 3}
33%
set([1, 2, 2, 3])
67%
dict([1, 2, 3])
0%
(1, 2, 3)
🎯 Модуль 12, задание 12.4

Как создать пустое множество?
Anonymous Quiz
25%
{}
75%
set()
0%
[]
0%
None
🎯 Модуль 12, задание 12.5

Какие элементы НЕЛЬЗЯ добавить в множество?
Anonymous Quiz
20%
Числа и строки
40%
Кортежи
40%
Списки и словари
0%
frozenset
🎯 Модуль 12, задание 12.6

Как добавить число 4 в множество s = {1, 2, 3}?
Anonymous Quiz
0%
s.append(4)
75%
s.add(4)
25%
s.update(4)
0%
s.insert(4)