큰 메모리를 필요로하는 큰 (= 거대한) 파이썬 사전이 필요한 경우에 부딪 혔습니다. 그러나 모든 값은 단일 유형 (long)입니다. 키와 마찬가지로 값에 대한 파이썬 (또는 numpy, 정말로 중요하지 않습니다) 배열을 사용할 수 있다고 생각했습니다. 필요한 배열을 실제로 키와 값 저장을 위해이 배열을 사용하는 객체로 포장하십시오 (in : x; out : d [x]).상수 값 형식의 파이썬 사전
인덱스 변환 개체 (input -> index, 1..n, 여기서 n은 다른 값 카운터)를 사용할 수 있으며 array [index]를 반환 할 수 있습니다. 합리적인 메모리 요구 사항과 같은 인덱싱 방법을 구현하는 방법에 대한 몇 가지 기술을 자세히 설명 할 수 있습니다. 그러나 데이터 구조 객체가 이미 존재하는지 (파이썬에서 또는 C/++에서 파이썬으로 래핑 됨), 모든 패키지에서 (콜렉션과 일부 Google 검색을 확인했는지) 궁금합니다.
모든 의견을 환영합니다. 감사합니다.
목록이 아닌 튜플을 사용하는 것이 좋습니다. 파이썬에는 평범한 "배열"이 없지만 튜플은 삽입 공간을 예약하지 않으므로 확실히 메모리 효율이 좋습니다. 그러나 사전은 해시 테이블 때문에 여전히 메모리를 씹기 때문에 정렬 된 데이터 구조를 사용하고 이진 검색을 사용하여 원하는 키를 찾고 튜플의 인덱스에 매핑하는 것이 좋습니다. –
일반 Python 구현에 대해 왜 생각하고 계십니까? 예를 들어 Tokyo Cabinet과 같이 인덱싱이 이미 구현 된 즉시 사용 가능한 키 - 값 저장소 솔루션을 찾아 볼 가치가 있습니까? – Vestel