可変オブジェクトを辞書に入れることが危険である理由を理解しています。ただし、すべてのリスト/セットをタプル/フリーズセットに変換するにはコストがかかります。また、多くのタイプでは、簡単に利用できる不変のバージョンはまったくありません。そのため、問題のオブジェクトが変更されないように適切な予防策を講じて、可変オブジェクトを直接ハッシュする価値がある場合があります。
可変オブジェクト用の非常に複雑なカスタムハッシュ関数の実装を開始する前にpickle.dumps
、パフォーマンスや衝突などの点で、ハッシュ関数として使用することに不利な点があるかどうかを確認したいと思いました。