Python で辞書をフリーズできますか?

Linda Hamilton
リリース: 2024-10-28 12:54:02
オリジナル
957 人が閲覧しました

 Can You Freeze a Dictionary in Python?

Python では「凍結された辞書」は可能ですか?

「凍結された辞書」の概念は、Python 内で議論のトピックとなっています。 Python コミュニティ。 Python には組み込みの Frozendict が提供されていませんが、不変でハッシュ可能な辞書の必要性に対処するためのソリューションがいくつか登場しています。

Frozen dict が必要になる一般的な理由の 1 つは、未知の引数を使用した関数呼び出しをメモ化することです。一般的なアプローチには、ハッシュ テーブル検索のソートの安定性に依存して、tuple(sorted(kwargs.items())) を使用して引数をタプルに変換することが含まれます。

より包括的なアプローチについては、次の FrozenDict クラスを検討してください。

<code class="python">import collections

class FrozenDict(collections.Mapping):
    ...</code>
ログイン後にコピー

このクラスは、反復、長さの決定、項目の取得、およびハッシュ計算のメソッドを提供し、標準の辞書のように動作し、ハッシュをサポートします。

実際には、FrozenDict は効率的に動作します。 :

<code class="python">x = FrozenDict(a=1, b=2)
y = FrozenDict(a=1, b=2)
print(x is y, x == y, x == {'a': 1, 'b': 2})
d = {x: 'foo'}
print(d[y])  # 'foo'</code>
ログイン後にコピー

カスタム実装を提供することにより、FrozenDict は Python で不変でハッシュ可能な辞書を可能にし、オブジェクト処理とメモリ最適化の可能性を拡張します。

以上がPython で辞書をフリーズできますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!