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Сообщить о неточности