Подтвердить что ты не робот

Почему Python dict.keys() возвращает список, а не набор?

Я бы ожидал, что метод ключей Python вернет набор вместо списка. Так как это наиболее близко напоминает гарантии, которые предоставили ключи хэшмапа. В частности, они уникальны и не сортируются, как набор. Однако этот метод возвращает список:

>>> d = {}
>>> d.keys().__class__
<type 'list'>

Это просто ошибка в API Python или есть какая-то другая причина, по которой я не хватает?

4b9b3361

Ответ 1

Одна из причин заключается в том, что dict.keys() предшествует внедрению наборов в язык.

Обратите внимание, что тип возврата dict.keys() изменился в Python 3: теперь функция возвращает view, а не список.