私は、Pythonでハッシュテーブルを実装したいと思います。テーブルでは、クラスオブジェクトがキー値に関連付けられます。問題は、クラスのインデックスを見つけて更新するためにキー値を使用したいということです(問題はありません)。しかし、クラスの特定の値を使用してテーブルを並べ替える場合はどうすればよいですか。Pythonハッシュテーブルの設計
たとえば、document_id、score、およびrankという3つの値があるとします。 「スコア」と「ランク」からなるクラス「文書」があります。 "document_id"がテーブルのキーになります。
キー "document_id"を使用して、テーブルのさまざまなエントリの「スコア」を更新します。しかし、スコアの更新が終わると、スコアを使用してリスト/テーブルをソートし、更新されたスコアに基づいてランク値をランク変数に割り当てたいと思います。
どうすればいいですか?あるいは、単にそれをリストにする必要がありますか?
テーブルの最大項目数は、最大25000-30000です。
ありがとうございました。
返信いただきありがとうございます。しかし、私が文書を更新/挿入するたびにランクを更新しようとすると、挿入/更新の最後にソートするのではなく、ループの順序が急速に増加するのではないでしょうか?私はランクでは何もしません。それらを並べ替えた後、私はそれらをファイルに入れます。 –
「急速に増える」という意味は分かりません。多数のドキュメントを追加し、最後にランクを一度に再割り当てすることができます。私は「あなたが1つを挿入するたびに」についてミスを犯しました。 –
申し訳ありませんが、ドキュメントを追加し終わった時点であれば問題ありません。私はテーブルの大きさについて話していた。巨大なテーブルにエントリを登録/更新するたびに並べ替えを実行しようとすると、時間がかかることがあります。 –