반응형
Python의 dritt.keys()는 왜 집합이 아닌 목록을 반환하는가?
파이썬의 키 메서드가 리스트 대신 세트를 돌려줄 줄 알았을 거야.해시맵의 키가 주는 보증의 종류와 가장 유사하기 때문이다.구체적으로는 세트처럼 독특하고 분류되지 않는다.그러나 이 방법은 다음과 같은 목록을 반환한다.
>>> d = {}
>>> d.keys().__class__
<type 'list'>
이것은 단지 Python API의 실수인가 아니면 내가 놓친 다른 이유가 있는가?
한 가지 이유는dict.keys()
세트가 언어에 도입되기 전에.
다음 반환 형식에 유의하십시오.dict.keys()
Python 3에서 변경됨: 함수는 이제 리스트가 아닌 "set-like" 보기를 반환한다.
세트 유사 뷰의 경우 추상 기본 클래스에 대해 정의된 모든 작업
collections.abc.Set
사용 가능(예:==
,<
또는^
).
왜냐하면 순서가 보장되기 때문이다.
Python 3.7.0에서 받아쓰기 개체의 삽입 순서 보존 특성이 Python 언어 규격의 공식 부분으로 선언되었다.그러므로 의지할 수 있다.
파이톤 3.6에서는 cpython을 사용하면 주문된다.
이전 버전에서는 아마도 모두가 3.7을 희망하고 있었을 것이다.
인
참조URL: https://stackoverflow.com/questions/13886129/why-does-pythons-dict-keys-return-a-list-and-not-a-set
반응형
'programing' 카테고리의 다른 글
VueJS + VueRouter:조건부로 경로 비활성화 (0) | 2022.04.08 |
---|---|
대응 라우터에서 로그인 페이지의 탐색줄을 숨기는 방법 (0) | 2022.04.08 |
동작부제: 다음이 함수가 아님 (0) | 2022.04.08 |
VueJ의 구성 요소 템플릿에서 Vuetify 대화 상자 열기s (0) | 2022.04.08 |
Laravel에서 파일 app.js에 Vue 구성 요소를 추가하는 방법? (0) | 2022.04.08 |