Методы словарей (dict) в Python:
Добавление и обновление
dct[key] = value — добавить новую пару или перезаписать существующую.
python
dct = {'a': 1}
dct['b'] = 2 # {'a': 1, 'b': 2}
dct['a'] = 99 # {'a': 99, 'b': 2}
Зачем: самый частый способ записать или обновить значение по ключу.
dct.update(other) — добавить или перезаписать сразу несколько пар из другого словаря или итерируемого объекта пар.
python
dct = {'a': 1}
dct.update({'b': 2, 'c': 3}) # {'a': 1, 'b': 2, 'c': 3}
dct.update([('d', 4)]) # {'a': 1, 'b': 2, 'c': 3, 'd': 4}
dct.update(a=100) # {'a': 100, 'b': 2, 'c': 3, 'd': 4}
Зачем: быстро «склеить» словари или массово обновить значения.
dct.setdefault(key, default=None) — если ключа нет, добавляет его со значением default и возвращает это значение; если есть — возвращает текущее.
python
dct = {'a': 1}
dct.setdefault('b', 2) # 2, dct = {'a': 1, 'b': 2}
dct.setdefault('a', 99) # 1 ← ключ уже есть, значение не меняется
Зачем: задать значение по умолчанию, не перезаписывая существующее.
Удаление и извлечение
dct.pop(key, default=None) — удалить ключ и вернуть его значение; если ключа нет — возвращает default.
python
dct = {'a': 1, 'b': 2}
dct.pop('a') # 1, dct = {'b': 2}
dct.pop('x', 0) # 0 ← ключа нет, ошибки не будет
Важно: без default при отсутствии ключа — ошибка KeyError.
dct.popitem() — удалить и вернуть последнюю добавленную пару (key, value).
python
dct = {'a': 1, 'b': 2}
dct.popitem() # ('b', 2), dct = {'a': 1}
Зачем: использовать словарь как стек (LIFO).
dct.clear() — полностью очистить словарь.
python
dct = {'a': 1, 'b': 2}
dct.clear() # {}
Доступ и поиск
dct.get(key, default=None) — вернуть значение по ключу; если ключа нет — default.
python
dct = {'a': 1}
dct.get('a') # 1
dct.get('x') # None
dct.get('x', 0) # 0
Зачем: безопасный доступ без риска KeyError.
key in dct — проверить, есть ли ключ в словаре.
python
'a' in dct # True
'x' in dct # False
Зачем: быстрая проверка перед обращением.
Получение ключей, значений и пар
dct.keys() — вернуть все ключи.
python
dct = {'a': 1, 'b': 2}
dct.keys() # dict_keys(['a', 'b'])
dct.values() — вернуть все значения.
python
dct.values() # dict_values([1, 2])
dct.items() — вернуть все пары (key, value).
python
dct.items() # dict_items([('a', 1), ('b', 2)])
Зачем: перебор в цикле: for k, v in dct.items():
Копирование
dct.copy() — поверхностная копия словаря.
python
a = {'a': 1, 'b': 2}
b = a.copy() # b — отдельный словарь
Зачем: чтобы менять копию и не трогать оригинал.
Добавление и обновление
dct[key] = value — добавить новую пару или перезаписать существующую.
python
dct = {'a': 1}
dct['b'] = 2 # {'a': 1, 'b': 2}
dct['a'] = 99 # {'a': 99, 'b': 2}
Зачем: самый частый способ записать или обновить значение по ключу.
dct.update(other) — добавить или перезаписать сразу несколько пар из другого словаря или итерируемого объекта пар.
python
dct = {'a': 1}
dct.update({'b': 2, 'c': 3}) # {'a': 1, 'b': 2, 'c': 3}
dct.update([('d', 4)]) # {'a': 1, 'b': 2, 'c': 3, 'd': 4}
dct.update(a=100) # {'a': 100, 'b': 2, 'c': 3, 'd': 4}
Зачем: быстро «склеить» словари или массово обновить значения.
dct.setdefault(key, default=None) — если ключа нет, добавляет его со значением default и возвращает это значение; если есть — возвращает текущее.
python
dct = {'a': 1}
dct.setdefault('b', 2) # 2, dct = {'a': 1, 'b': 2}
dct.setdefault('a', 99) # 1 ← ключ уже есть, значение не меняется
Зачем: задать значение по умолчанию, не перезаписывая существующее.
Удаление и извлечение
dct.pop(key, default=None) — удалить ключ и вернуть его значение; если ключа нет — возвращает default.
python
dct = {'a': 1, 'b': 2}
dct.pop('a') # 1, dct = {'b': 2}
dct.pop('x', 0) # 0 ← ключа нет, ошибки не будет
Важно: без default при отсутствии ключа — ошибка KeyError.
dct.popitem() — удалить и вернуть последнюю добавленную пару (key, value).
python
dct = {'a': 1, 'b': 2}
dct.popitem() # ('b', 2), dct = {'a': 1}
Зачем: использовать словарь как стек (LIFO).
dct.clear() — полностью очистить словарь.
python
dct = {'a': 1, 'b': 2}
dct.clear() # {}
Доступ и поиск
dct.get(key, default=None) — вернуть значение по ключу; если ключа нет — default.
python
dct = {'a': 1}
dct.get('a') # 1
dct.get('x') # None
dct.get('x', 0) # 0
Зачем: безопасный доступ без риска KeyError.
key in dct — проверить, есть ли ключ в словаре.
python
'a' in dct # True
'x' in dct # False
Зачем: быстрая проверка перед обращением.
Получение ключей, значений и пар
dct.keys() — вернуть все ключи.
python
dct = {'a': 1, 'b': 2}
dct.keys() # dict_keys(['a', 'b'])
dct.values() — вернуть все значения.
python
dct.values() # dict_values([1, 2])
dct.items() — вернуть все пары (key, value).
python
dct.items() # dict_items([('a', 1), ('b', 2)])
Зачем: перебор в цикле: for k, v in dct.items():
Копирование
dct.copy() — поверхностная копия словаря.
python
a = {'a': 1, 'b': 2}
b = a.copy() # b — отдельный словарь
Зачем: чтобы менять копию и не трогать оригинал.
Просмотры: 83