Development Tip

파이썬의 dict.keys ()가 집합이 아닌 목록을 반환하는 이유는 무엇입니까?

yourdevel 2020. 10. 10. 12:04
반응형

파이썬의 dict.keys ()가 집합이 아닌 목록을 반환하는 이유는 무엇입니까?


파이썬의 키 메서드가 목록 대신 집합을 반환 할 것으로 예상했을 것입니다. 해시 맵의 키가 제공하는 보증의 종류와 가장 유사하기 때문입니다. 특히, 그것들은 세트처럼 고유하고 정렬되지 않습니다. 그러나이 메서드는 목록을 반환합니다.

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

이것은 Python API의 실수입니까 아니면 내가 놓친 다른 이유가 있습니까?


한 가지 이유는 dict.keys()언어에 세트가 도입되기 이전에 있기 때문입니다 .

반환 유형이 dict.keys()Python 3에서 변경되었습니다. 함수는 이제 목록이 아닌 "세트와 유사한" 보기를 반환 합니다.

집합 형 뷰의 경우 추상 기본 클래스에 대해 정의 된 모든 작업 collections.abc.Set을 사용할 수 있습니다 (예 ==: <, 또는 ^).

참고 URL : https://stackoverflow.com/questions/13886129/why-does-pythons-dict-keys-return-a-list-and-not-a-set

반응형