Я ожидал, что метод ключей Python вернет набор вместо списка. Так как это наиболее похоже на гарантии, которые дают ключи хэш-карты. В частности, они уникальны и не отсортированы, как набор. Однако этот метод возвращает список:
>>> d = {}
>>> d.keys().__class__
<type 'list'>
Это просто ошибка в Python API или есть еще одна причина, по которой я упускаю?
python
python-2.x
себя
источник
источник
Ответы:
Одна из причин заключается в том, что они
dict.keys()
появились еще до введения в язык наборов.Обратите внимание, что тип возвращаемого значения
dict.keys()
изменился в Python 3: функция теперь возвращает "наборное" представление, а не список.источник
set()
! которые позволяютdict.keys() | set()
операции. Py3 Rocks :)dict.viewkeys()
и использовать его с множеством операций|
,&
...