📦 Репозиторий занятия 32

Урок 32. Множества

Как работать с репозиторием

Идите по карточкам сверху вниз: сначала сформулируйте ожидаемый результат, затем откройте полный файл, проверьте предположение и ответьте на вопрос для самопроверки. Фрагменты не обрезаются.

Маршрут изучения

  1. Предскажите: прочитайте роль файла и сформулируйте ожидаемый результат.
  2. Исследуйте: откройте исходник и найдите перечисленные ключевые понятия.
  3. Измените: поменяйте одно условие или значение и объясните новый результат.
  4. Проверьте: ответьте на вопрос карточки без копирования кода.

Файлы: рекомендуемый порядок

1
MarkdownРазбор концепции

less_17__hash__set/theory_01__Why_do_we_need_hash.md

Сначала выделите правило и объясните своими словами, затем проверьте каждый пример.

Разделы: 1. Алгоритмы поиска; 1. Линейный поиск (naive search); 2. Бинарный поиск

Ключевые понятия: ветвление, циклы
Проверьте себя: Какое правило из файла вы сможете применить без подсказки?
Открыть полный файл →
2
MarkdownРазбор концепции

less_17__hash__set/theory_02__set.md

Сначала выделите правило и объясните своими словами, затем проверьте каждый пример.

Разделы: Свойства `set`; Основные способы создания `set`; Методы `set`.

Ключевые понятия: тема текущего занятия
Проверьте себя: Какое правило из файла вы сможете применить без подсказки?
Открыть полный файл →
3
PythonИсполняемый пример

less_17__hash__set/theory_03_set_methods.py

Перед запуском предскажите результат, затем измените один параметр и сравните поведение.

Объём: 18 строк. Читайте сверху вниз и отмечайте изменения состояния данных.

Ключевые понятия: объединение данных
Проверьте себя: Что программа выведет до запуска и какая строка отвечает за этот результат?
Открыть полный файл →
4
PythonИсполняемый пример

less_17__hash__set/theory_04_set_methods.py

Перед запуском предскажите результат, затем измените один параметр и сравните поведение.

Разделы: У множеств нет ни одного общего элемента; =============== set equality ===============; =============== list equality ===============

Ключевые понятия: тема текущего занятия
Проверьте себя: Что программа выведет до запуска и какая строка отвечает за этот результат?
Открыть полный файл →
5
PythonИсполняемый пример

less_17__hash__set/theory_05_set_create.py

Перед запуском предскажите результат, затем измените один параметр и сравните поведение.

Объём: 56 строк. Читайте сверху вниз и отмечайте изменения состояния данных.

Ключевые понятия: обработка ошибок
Проверьте себя: Что программа выведет до запуска и какая строка отвечает за этот результат?
Открыть полный файл →
6
PythonИсполняемый пример

less_17__hash__set/theory_06_set_methods.py

Перед запуском предскажите результат, затем измените один параметр и сравните поведение.

Объём: 11 строк. Читайте сверху вниз и отмечайте изменения состояния данных.

Ключевые понятия: тема текущего занятия
Проверьте себя: Что программа выведет до запуска и какая строка отвечает за этот результат?
Открыть полный файл →
7
PythonИсполняемый пример

less_17__hash__set/theory_07_set_vs_list__speed_comparison.py

Перед запуском предскажите результат, затем измените один параметр и сравните поведение.

Объём: 36 строк. Читайте сверху вниз и отмечайте изменения состояния данных.

Ключевые понятия: функции, ветвление, циклы, импорт модулей
Проверьте себя: Что программа выведет до запуска и какая строка отвечает за этот результат?
Открыть полный файл →
8
PythonИсполняемый пример

less_17__hash__set/theory_08_set_methods_add_items.py

Перед запуском предскажите результат, затем измените один параметр и сравните поведение.

Объём: 31 строк. Читайте сверху вниз и отмечайте изменения состояния данных.

Ключевые понятия: тема текущего занятия
Проверьте себя: Что программа выведет до запуска и какая строка отвечает за этот результат?
Открыть полный файл →
9
PythonИсполняемый пример

less_17__hash__set/theory_09_set_methods_remove_items.py

Перед запуском предскажите результат, затем измените один параметр и сравните поведение.

Объём: 41 строк. Читайте сверху вниз и отмечайте изменения состояния данных.

Ключевые понятия: обработка ошибок
Проверьте себя: Что программа выведет до запуска и какая строка отвечает за этот результат?
Открыть полный файл →
10
PythonИсполняемый пример

less_17__hash__set/theory_98_function_graphs.py

Перед запуском предскажите результат, затем измените один параметр и сравните поведение.

Разделы: Создаём диапазон значений x; Вычисляем значения функций; Создаём фигуру и оси для трёх функций

Ключевые понятия: импорт модулей
Проверьте себя: Что программа выведет до запуска и какая строка отвечает за этот результат?
Открыть полный файл →
11
PythonИсполняемый пример

less_17__hash__set/theory_999_hashable_vs_mutable.py

Перед запуском предскажите результат, затем измените один параметр и сравните поведение.

Разделы: --- Не изменяемый, но не хэшируемый ---------------; --- Хэшируемый, но изменяемый --------------------

Ключевые понятия: функции, классы и объекты, обработка ошибок
Проверьте себя: Что программа выведет до запуска и какая строка отвечает за этот результат?
Открыть полный файл →
12
PythonИсполняемый пример

less_17__hash__set/theory_99_hash_table.py

Перед запуском предскажите результат, затем измените один параметр и сравните поведение.

Разделы: Определяем размер и создаём по нему хэш таблицу; [None, None, None, None, None, None, None, None]

Ключевые понятия: функции, ветвление, циклы
Проверьте себя: Что программа выведет до запуска и какая строка отвечает за этот результат?
Открыть полный файл →