답변
사전의 관점에서 볼 때 다차원적인 것은 하나도 없습니다. 사전은 n 스페이스를 설명하는 것으로 키를 해석하고 있다는 것을 알지 못합니다.
예를 들어, 덜 마법처럼 보일 수도 있고, 복잡해 지거나 기능적으로 동등한 문자열로 벡터를 영리하게 포장 할 수 있습니다. 인터프리터에 관한 한 파이썬 문자열은 또 다른 불변의 순서이다.
부정적인 영향은 없습니다.
일부 작업은 대체 구현보다 효율적이지 않을 수 있습니다. 예를 들어 (x, y, z)
좌표를 키로 사용하는 경우 z
에있는 모든 점을 찾는 것은 실제 다차원 저장소에 비해 많은 시간이 소요됩니다. 그러나 때로는 선명도와 구현의 용이성 및 독서의 효율성이 높은 상점.
기본'(x, y, z) keyed dict의 설정을 저장 한 채로 언제든지 추가 인덱싱 체계를 고안하여 필요한 다른 작업의 속도를 높일 수 있습니다. ;) –
유일한 단점은 성능입니다. 키가 클수록 해시 시간이 길어집니다.
간단히 말해서 파이썬 dict에있는 유일한 요구 사항은 불변이고 해시 가능하다는 것입니다. 튜플 (immutable)의 경우 이것은 하위 객체의 해시를 결합해야한다는 것을 의미합니다 (그 자체는 변경 가능하고 해시 가능해야 함). 또한 frozenset을 키로 사용할 수 있습니다. 목록이나 dicts 또는 세트를 키로 사용할 수 없습니다.
나는 tictle-of-3-integer 대 plain integer 키를 사용하여 dict insert와 lookup을 비교하는 빠르고 더러운 벤치 마크를 시도했다. 튜플은 삽입시 약 13 %의 시간이 더 걸리고 조회에서 16 % 더 많은 시간이 소요됩니다. 그것은 튜플 키 자체를 생성하는 시간을 계산하지 않습니다. 테스트를위한 키 목록을 미리 작성했습니다. 그래서 그것은 큰 차이가 아니라 큰 차이를 만들어냅니다. –
- 1. 파이썬 : 튜플을 키로 사용하는 서식 지정 사전
- 2. 튜플을 사전
- 3. 파이썬에서 클래스를 사전 키로 사용할 수 있습니까?
- 4. 튜플을 선반의 키로 사용하는 방법은 무엇입니까? (Python)
- 5. 파이썬에서 튜플을 사용하고 계십니까?
- 6. 튜플 목록, 첫 번째 튜플을 키로, 키로 그룹화하여 사전으로 그룹화합니다.
- 7. 파이썬에서 튜플을 뒤집는 방법은 무엇입니까?
- 8. 파이썬에서 터플을 사전 키로 사용할 때 키 오류 (0, 0)
- 9. Func을 키로 사용하는 사전
- 10. 키로 파이썬 사전 정렬하기
- 11. 키가 파이썬에서 정수 쌍을 이루는 사전
- 12. 오브젝트를 일반 사전 키로 사용
- 13. Python 사전에서 사전 키로 정렬
- 14. 날짜/시간 키로 사전 검색
- 15. 파이썬에서 사용 가능한 모든 튜플을 디버거에서 인쇄합니다.
- 16. 파이썬에서 튜플을 변경할 수없는 이유는 무엇입니까?
- 17. 파이썬에서 목록과 튜플을 사용할 때 if 문
- 18. 파이썬에서 괄호로 튜플을 분할하는 방법은 무엇입니까?
- 19. 파이썬에서 사전 다중 처리
- 20. 파이썬에서 다른 사전 병합하기
- 21. 파이썬에서 사전 병합하기
- 22. php. 사전 데이터 구조, (정수, 문자열)을 키로 사용
- 23. 제공된 기본 제공 튜플이 아닌 경우 왜 파이썬에서 연결된 사전 .get()이 튜플을 반환합니까?
- 24. Python에서 키로 사전 항목을 효율적으로 선택
- 25. 비트 맵 이미지를 사전 키로 사용
- 26. 특정 문자열로 시작하는 키로 사전 썰기
- 27. Django 템플릿의 사전 키로 루프 변수를 사용하십시오.
- 28. 참조 유형의 값을 사전 키로 사용하려면 어떻게해야합니까?
- 29. 목록 값을 키 값으로 사전 키로 사용합니다.
- 30. 파이썬에서 중첩 된 무한 사전
인생은 참으로 위대함을 느낄 수 있습니다. –
@SimeonVisser 언제나 내가보기에는 매우 어려운 문제가있을 때마다 이것이 갑자기 마법의 해결책으로 밝혀졌습니다. – jab