Статья

Python: словари

5 сентября 2026~8 минут10–11 класс

Если «Python: словари» вызывает ступор — это нормально: тема собрана из простых идей. Покажем их по порядку: теория, пример, разбор задания и типичные ошибки.

Что такое словарь в Python

Когда программа хранит оценки, названия предметов или результаты вычислений, обычного списка часто недостаточно: нужно быстро находить значение по понятному названию. Словарь Python решает эту задачу. Разобравшись с парами «ключ — значение», ты сможешь писать аккуратные программы, обрабатывать данные и увереннее выполнять задания по информатике на ОГЭ и ЕГЭ. В этой статье пройдём тему от создания словаря до частых ошибок.

Словарь, или dict, хранит данные в виде пар. Ключ помогает найти значение. Например, ключом может быть название предмета, а значением — оценка. Словари записывают в фигурных скобках, пары разделяют запятыми, а между ключом и значением ставят двоеточие.

grades = {"математика": 5, "физика": 4}
print(grades["математика"])
Результат: 5

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

Создание и изменение словаря

Словарь можно создать сразу с данными или оставить пустым. Пустой словарь обозначается как {}. Новую пару добавляют обращением по ключу, а существующее значение заменяют таким же способом.

\( student = {} \)
student["имя"] = "Оля"
student["класс"] = 9
student["класс"] = 10
print(student)

После выполнения в словаре останутся имя Оля и класс 10. Операция присваивания не добавляет второе значение к старому, а заменяет его. Удалить пару можно командой del, если ключ точно существует.

del student["класс"]
print(len(student))

Функция len() показывает количество пар. Проверить наличие ключа безопасно можно с помощью оператора in.

if "имя" in student:
print("Данные найдены")

Совет репетитора

Перед изменением словаря мысленно ответь: ключ уже существует или его нужно создать? Это сразу помогает понять, будет добавление или замена.

Как получать значения без ошибки

Если обратиться к отсутствующему ключу через квадратные скобки, Python остановит программу с ошибкой KeyError. Поэтому, когда ключ может отсутствовать, удобнее использовать метод get(). Он возвращает значение, а при отсутствии ключа — None или указанное тобой запасное значение.

prices = {"тетрадь": 80, "ручка": 45}
print(prices.get("линейка", 0))
Результат: 0

Метод keys() возвращает ключи, values() — значения, а items() — пары. Эти методы особенно полезны в циклах. В современных версиях Python элементы словаря сохраняют порядок добавления, но в задачах лучше опираться на смысл данных, а не на случайное расположение.

for subject, mark in grades.items():
print(subject, mark)

Если нужно получить только названия предметов, используй for subject in grades. Если нужны только оценки, перебирай grades.values(). Для практики можно решить несколько коротких задач в бесплатном личном кабинете и проверить, насколько уверенно ты обращаешься к ключам.

Разобранный пример: подсчёт частот

Рассмотрим типичную задачу: дана строка, нужно посчитать, сколько раз встречается каждый символ. Словарь будет хранить символ как ключ, а количество повторений — как значение. Для каждого символа проверяем, был ли он раньше.

text = "банан"
\( count = {} \)
for symbol in text:
if symbol not in count:
\( count[symbol] = 0 \)
\( count[symbol] += 1 \)
print(count)
Результат: {"б": 1, "а": 2, "н": 2}

Разберём ход выполнения. Сначала встречается «б»: такого ключа нет, поэтому программа создаёт пару «б»: 0, затем увеличивает значение до 1. Для первой «а» происходит то же самое. Когда «а» встречается второй раз, ключ уже существует, и его значение просто увеличивается с 1 до 2. Аналогично обрабатывается «н».

Короткая запись использует get(): count[symbol] = count.get(symbol, 0) + 1. Она делает ту же работу, но требует внимательного чтения.

В математических задачах похожий подход применяют для подсчёта повторяющихся чисел, координат или результатов измерений.

Типичные ошибки и полезные методы

Первая ошибка — путать ключ и значение. В записи {"x": 7} ключом является строка "x", а значением — число 7. Вторая — использовать изменяемый объект, например список, как ключ: такой код вызовет ошибку. Строки, числа и кортежи обычно подходят для ключей.

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

ЗадачаИнструментПример
Получить значениеквадратные скобкиd["x"]
Получить безопасноget()d.get("x", 0)
Удалить паруdeldel d["x"]
Перебрать парыitems()for k, v in d.items()
Ловушка

Запись d["новый"] при чтении не создаёт ключ. Она только ищет его. Для добавления нужно присваивание, а для безопасного чтения — get().

Что запомнить

Словарь хранит пары «ключ — значение» и подходит, когда данные нужно находить по имени, а не по позиции. Создание и изменение выполняются через d[key] = value. Получить значение можно через скобки или безопаснее через get(). Методы keys(), values() и items() помогают перебирать содержимое, а in проверяет наличие ключа.

Для экзамена важно уверенно читать вложенные обращения, например data["ученик"]["оценка"], и понимать, когда значение увеличивается, а когда заменяется. Не заучивай команды изолированно: составляй маленькие словари и прослеживай каждое изменение.

Следующий шаг — зарегистрируйся и реши 5 заданий бесплатно в личном кабинете. Если готовишься к экзамену, можно отдельно посмотреть подборки по ОГЭ или ЕГЭ.

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

Реши пять задач: создай словарь, измени значение, проверь ключ через in, используй get() и выполни подсчёт частот. После каждого решения объясни словами, какая пара добавилась или изменилась.

Можно ли использовать список как ключ?

Нет, список изменяемый и не подходит для ключа. Используй строку, число или кортеж, элементы которого сами подходят для ключей.

Чем словарь отличается от списка?

В списке элементы находят по числовому индексу, а в словаре — по ключу. Словарь удобнее для данных с понятными названиями.

Что произойдёт при повторной записи ключа?

Старое значение будет заменено новым. Количество пар при этом не увеличится.

Закрепить тему на практике

Теория без практики забывается за неделю. В личном кабинете Просто Урок — задания именно по этой теме с проверкой каждого шага. Регистрация бесплатная.

Важно. Материалы сайта носят информационно-образовательный характер и не являются публичной офертой (ст. 437 ГК РФ), индивидуальной консультацией или руководством к действию. Мы аккуратно работаем с фактами, но не гарантируем полную точность и актуальность: структура и правила экзаменов могут меняться — сверяйтесь с официальными источниками (ФИПИ, действующие кодификаторы и нормативные акты РФ). Администрация сайта не несёт ответственности за возможные неточности и за решения, принятые на основе материалов. Заметили неточность — напишите нам, мы исправим.