Python Glossary English

все Python 3Словари (dict)понятие

in / not in для словаря

поиск

in проверяет наличие КЛЮЧА в словаре за O(1). Для проверки значений используйте in d.values().

Синтаксис

key in d  |  key not in d

Ключ проверяется через хеш, поэтому нехешируемый объект даёт не False, а TypeError: unhashable type — например, [] in d. Пары in так не проверить: нужно ('a', 1) in d.items(). А связка if k in d: d[k] делает два поиска подряд — обычно чище d.get(k, default) или try/except KeyError.

Примеры

d = {'a': 1, 'b': 2}
print('a' in d)
# → True
print('c' in d)
# → False
print('c' not in d)
# → True
print(1 in d)
# → False (1 — не ключ!)
print(1 in d.values())
# → True (проверка значений)

См. также

Открыть в полном глоссарииdocs.python.orgСообщить о неточности