파이썬의 키 메서드가 목록 대신 집합을 반환 할 것으로 예상했을 것입니다. 해시 맵의 키가 제공하는 보증의 종류와 가장 유사하기 때문입니다. 특히, 그것들은 세트처럼 고유하고 정렬되지 않습니다. 그러나이 메서드는 목록을 반환합니다.
>>> d = {}
>>> d.keys().__class__
<type 'list'>
이것은 Python API의 실수입니까 아니면 내가 놓친 다른 이유가 있습니까?
답변
한 가지 이유는 dict.keys()
언어에 세트가 도입되기 이전에 있기 때문입니다 .
반환 유형은 dict.keys()
Python 3에서 변경되었습니다. 이제 함수 는 목록이 아닌 “세트와 유사한” 보기를 반환 합니다.
집합 형 뷰의 경우 추상 기본 클래스에 대해 정의 된 모든 작업
collections.abc.Set
을 사용할 수 있습니다 (예==
:<
, 또는^
).