0Pricing
Python Academy · Урок

Методы словарей

Используйте get, keys, values, items, update и pop.

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

Введение

Словари Python имеют богатый набор методов для объединения, преобразования и безопасного доступа к данным.

keys(), values(), items()

Эти методы возвращают объекты-представления, отражающие изменения в словаре. Преобразуйте их в список, если Вам нужен снимок состояния.
d = {'a': 1, 'b': 2}
print(list(d.keys()))
print(list(d.values()))
print(list(d.items()))

update()

d.update({'c': 3, 'd': 4}) добавляет в словарь другой словарь. Существующие ключи перезаписываются.
d = {'a': 1}
d.update({'b': 2, 'a': 99})
print(d)

pop() со значением по умолчанию

d.pop('key', default) удаляет ключ и возвращает его значение. Если ключ отсутствует и значение по умолчанию не указано, возникает KeyError.
d = {'a': 1, 'b': 2}
val = d.pop('a')
print(val, d)

popitem()

d.popitem() удаляет и возвращает последнюю добавленную пару (key, value). Для пустого словаря возникает KeyError.
d = {'a': 1, 'b': 2}
print(d.popitem())
print(d)

setdefault()

d.setdefault('key', default) добавляет значение по умолчанию, если ключ отсутствует, и возвращает значение. Это позволяет не выполнять отдельно get и присваивание.
d = {}
d.setdefault('count', 0)
d['count'] += 1
print(d)

Объединение с помощью | (Python 3.9+)

d1 | d2 возвращает новый объединённый словарь. d1 |= d2 обновляет d1 на месте. Это более понятная запись, чем update().
d1 = {'a': 1}
d2 = {'b': 2}
print(d1 | d2)

copy() и deepcopy()

d.copy() создаёт поверхностную копию. Для вложенных словарей используйте copy.deepcopy(d), чтобы избежать общих ссылок.
import copy
d = {'a': [1,2]}
deep = copy.deepcopy(d)
deep['a'].append(3)
print(d, deep)

Counter из collections

from collections import Counter; Counter('banana') автоматически подсчитывает частоты символов.
from collections import Counter
c = Counter('banana')
print(c)

defaultdict

from collections import defaultdict; d = defaultdict(list) автоматически создаёт пустой список для отсутствующих ключей.
from collections import defaultdict
d = defaultdict(list)
d['a'].append(1)
print(d)

OrderedDict (примечание об устаревшем подходе)

В Python 3.7+ обычные словари сохраняют порядок добавления. OrderedDict по-прежнему полезен для move_to_end() и сравнения с учётом порядка.
from collections import OrderedDict
od = OrderedDict({'a':1,'b':2})
od.move_to_end('a')
print(list(od))

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

Что делает d.setdefault('key', 0), если 'key' отсутствует в d?

Итоги

Методы словарей: update, pop/popitem, setdefault, copy/deepcopy. Используйте Counter для подсчёта частот, defaultdict, чтобы не проверять отсутствующие ключи, и | для объединения (3.9+).

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

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

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

Урок «Методы словарей» бесплатный?

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

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

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

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

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

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

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

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

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

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

  1. Основы словарей
  2. Методы словарей
  3. Множества и операции над ними
  4. Генераторы словарей
← Назад к Python Academy