파이썬에서 해시 테이블을 구현하고 싶습니다. 테이블에서 클래스 객체는 키 값과 연결됩니다. 문제는 키 값을 사용하여 클래스 색인을 찾고 업데이트하는 것입니다 (물론 문제는 아닙니다). 그러나 클래스의 특정 값을 사용하여 테이블을 정렬하려면 어떻게해야합니까?파이썬 해시 테이블 디자인
예를 들어 document_id, score 및 rank의 세 가지 값이 있다고 가정 해 보겠습니다. "score"와 "rank"로 구성된 클래스 "document"가 있습니다. "document_id"는 테이블의 키입니다.
키 "document_id"를 사용하여 테이블의 다양한 항목의 "점수"를 업데이트하고 싶습니다. 그러나 점수 업데이트가 완료되면 점수를 사용하여 목록/표를 정렬하고 업데이트 된 점수에 따라 순위 변수를 "순위"변수에 할당하려고합니다.
진행 방법에 대한 친절한 가이드가 있습니까? 아니면 단순히 목록으로 만들어야합니까?
테이블의 최대 항목 수는 최대 25000-30000 개입니다.
감사합니다.
답장을 보내 주셔서 감사합니다. 그러나 내가 문서를 업데이트/삽입 할 때마다 순위를 업데이트하려고하면 모든 삽입/업데이트가 끝날 때 정렬보다는 루프의 순서가 빠르게 증가하지 않을까요? 나는 계급에 대해 더 많은 것을하지 않을 것이다. 그것들을 소트 한 후에는 파일에 넣을 것입니다. –
"빠르게 증가"한다는 것이 무슨 뜻인지 몰라? 여러 개의 문서를 추가 한 다음 끝에 순위를 한꺼번에 재 할당 할 수 있습니다. 나는 "당신이 하나를 삽입 할 때마다"에 대해 미루다. –
죄송합니다. 문서 추가가 끝나면 괜찮습니다. 나는 테이블의 크기에 대해서 이야기하고있었습니다. 나는 거대한 테이블에 엔트리를 입력/업데이트 할 때마다 정렬을 실행하려고하면 오랜 시간이 걸릴 수도 있다고 생각했습니다. –