Python Glossary English

Python 3.3+collectionsпонятие

collections.abc.KeysView

collections.abc — протоколы

Тип представления ключей словаря (d.keys()).

Синтаксис

isinstance(obj, collections.abc.KeysView)

Это живое окно в словарь, а не копия: добавленный позже ключ представление сразу увидит, а изменение словаря прямо во время перебора keys() приведёт к RuntimeError. В отличие от values(), представление ключей ведёт себя как множество и поддерживает &, |, -, ^ — общие ключи двух словарей находятся как d1.keys() & d2.keys(), без промежуточных set().

Примеры

import collections.abc as abc
print(isinstance({}.keys(), abc.KeysView))   # → True
print(isinstance({}.values(), abc.KeysView))  # → False
print(list({'a': 1, 'b': 2}.keys()))  # → ['a', 'b']
print({'a': 1, 'b': 2}.keys() & {'b', 'c'})  # → {'b'}
print(isinstance({}.keys(), abc.Set))  # → True

См. также

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