ホームページ >バックエンド開発 >Python チュートリアル >Python の「Frozen Dictionary」とは何ですか?また、どのように実装されますか?
「凍結辞書」とは何ですか?
Python には「凍結辞書」という明確な概念がありません。ただし、この概念に関連して次のような考慮事項があります。
提案された実装
組み込み実装がないにもかかわらず、フリーズされたクラスを模倣するラッパー クラスを作成できます。 Dictionary:
<code class="python">import collections class FrozenDict(collections.Mapping): ...</code>
このクラスは、辞書のように機能するために必要なメソッドとプロパティを提供しますが、変更は禁止されています。
ハッシュ
凍結された辞書はハッシュをサポートし、他の辞書やセットのキーとして使用できるようにする必要があります。上記のクラス実装には、この機能を提供するためにカスタム ハッシュ関数が組み込まれています。
使用
凍結された辞書は、メモ化が必要な状況で役立ちます。辞書をフリーズすると、任意の引数を持つ関数の結果を保存するためのハッシュ可能なキーとして使用できます。
タプルとの比較
フリーズされた辞書は、キーと値の操作をサポートするという点でタプル (不変リスト) と異なります。タプルはキーのインデックス付けを提供しますが、値を設定または取得する機能はありません。
注
Python には、代わりに使用できる組み込みの凍結された dict 型が含まれるようになりました。上で説明したカスタム実装の。 PEP-603 で導入され、強化されたパフォーマンスと正確性を提供します。
以上がPython の「Frozen Dictionary」とは何ですか?また、どのように実装されますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。