1. ホーム
  2. python

[解決済み] 辞書をハッシュ化する?

2022-04-23 01:10:48

質問

キャッシュのために、dictに存在するGET引数からキャッシュキーを生成する必要があります。

現在、私は sha1(repr(sorted(my_dict.items()))) ( sha1() を使用する便利なメソッドです。 ハッシュリブ が、もっといい方法はないかと考えています。

どのように解決するのですか?

辞書がネストされていない場合は、辞書の項目でフローズンセットを作って hash() :

hash(frozenset(my_dict.items()))

これは、JSON文字列や辞書の表現を生成するよりも、はるかに計算量が少なくて済みます。

UPDATE: この方法が安定した結果をもたらさない可能性がある理由については、以下のコメントを参照してください。