0Pricing
Python Academy · Урок

Генераторы множеств и словарей

Применяйте шаблоны генераторов к множествам и словарям.

«Генераторы множеств и словарей» — бесплатный урок Python Academy на CoddyKit. Это урок 2 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Python Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Python Academy содержит 4 уроков всего.

Введение

Тот же синтаксис включений работает с множествами и словарями, создавая соответственно уникальные элементы и отображения «ключ — значение».

Синтаксис включения множества

{expression for item in iterable} использует фигурные скобки без двоеточия. Результатом является множество — неупорядоченное и содержащее уникальные элементы.
unique_lens = {len(w) for w in ['apple','banana','fig']}
print(unique_lens)

Удаление дубликатов с помощью включения множества

Любые повторяющиеся результаты выражения молча удаляются. {x%3 for x in range(9)} даёт {0,1,2}.
mods = {x % 3 for x in range(9)}
print(mods)

Включение множества с условием

{x for x in range(20) if x%2==0 and x%3==0} даёт числа, делящиеся и на 2, и на 3.
print({x for x in range(20) if x%2==0 and x%3==0})

Синтаксис включения словаря

{key_expr: val_expr for item in iterable} использует пару ключ:значение перед for. Создаётся словарь.
squares = {x: x**2 for x in range(5)}
print(squares)

Включение словаря с условием

{k: v for k, v in d.items() if v > 0} отбирает из словаря только положительные значения.
d = {'a': 1, 'b': -2, 'c': 3}
pos = {k: v for k, v in d.items() if v > 0}
print(pos)

Инвертирование словаря

{v: k for k, v in d.items()} меняет местами ключи и значения. Все значения должны быть уникальными и хешируемыми.
d = {'a': 1, 'b': 2, 'c': 3}
print({v: k for k, v in d.items()})

Группировка с помощью включения словаря

{letter: [w for w in words if w[0]==letter] for letter in 'abc'} группирует слова по первой букве.
words = ['apple','ant','banana','cherry','cat']
grouped = {l: [w for w in words if w.startswith(l)] for l in 'abc'}
print(grouped)

Объединение двух списков в словарь

{k: v for k, v in zip(keys, vals)} читается понятнее, чем dict(zip(keys, vals)), если требуется преобразование.
keys = ['x', 'y', 'z']
vals = [1, 4, 9]
print({k: v**0.5 for k, v in zip(keys, vals)})

Вложенное включение словаря

{i: {j: i*j for j in range(3)} for i in range(3)} создаёт таблицу умножения в виде вложенных словарей.
table = {i: {j: i*j for j in range(3)} for i in range(3)}
print(table)

Когда что использовать

Используйте включение множества, когда нужны уникальные значения. Словарь — когда нужно отображение «ключ — значение». Список — когда важен порядок.
words = ['hello', 'world', 'hello']
unique = {w for w in words}
lengths = {w: len(w) for w in unique}
print(lengths)

Быстрая проверка

В чём состоит основное синтаксическое различие между включением множества и включением словаря?

Повторение

Включение множества: {expr for x in it}. Включение словаря: {k: v for x in it}. Оба варианта поддерживают фильтрацию с помощью if. Для словаря нужны уникальные хешируемые ключи.

Продолжайте обучение

Отлично! Перейдите к следующему уроку, чтобы углубить свои навыки.

Часто задаваемые вопросы

Урок «Генераторы множеств и словарей» бесплатный?

Да — полный текст урока «Генераторы множеств и словарей» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Python Academy, подпишись на CoddyKit PRO. Курс Python Academy содержит 4 уроков всего.

Чему я научусь в уроке «Генераторы множеств и словарей»?

Применяйте шаблоны генераторов к множествам и словарям. Ты практикуешь Python Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать Python Academy?

Предыдущий опыт не требуется. Python Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 2 из 4.

Сколько времени занимает урок «Генераторы множеств и словарей»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке Python Academy?

Да. Каждый урок Python Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

Все уроки этого курса

  1. Генераторы списков
  2. Генераторы множеств и словарей
  3. Генерирующие выражения
  4. Ключевое слово yield
← Назад к Python Academy