ホームページ > バックエンド開発 > Python チュートリアル > Python 辞書でキーの順序を保持するにはどうすればよいですか?

Python 辞書でキーの順序を保持するにはどうすればよいですか?

DDD
リリース: 2024-12-27 07:12:08
オリジナル
666 人が閲覧しました

How Do I Preserve Key Order in Python Dictionaries?

辞書内の順序の保持

問題

辞書を特定の順序で定義し、アクセスまたは反復処理するときにその順序を維持したいと考えています。

解決策: Python 3.6 の挿入オーダー

Python 3.6 以降、辞書は本質的にデフォルトで挿入順序を維持します。これは、キーと値が追加された順序で保存される配列ベースのハッシュ テーブルを使用して実現されます。

たとえば、次の辞書宣言ではキーの順序が保持されます:

d = {'ac': 33, 'gw': 20, 'ap': 102, 'za': 321, 'bs': 10}
ログイン後にコピー

この動作は当初、Python 3.6 の実装の詳細でした。ただし、Python 3.7 では、これが言語仕様となり、すべての Python 実装で辞書の順序が維持されるようになりました。

順序保持のユースケース

順序が保持された辞書の使用は、次のようなアプリケーションで有益です。キーと値の順序は次のように重要です。

  • タイムスタンプを時系列でイベントにマッピングするorder
  • ユーザー設定を定義された順序で保存する
  • キューまたはスタックを表す

代替: OrderedDict

Python 3.6 の辞書は保持しますただし、 collections.OrderedDict() クラスの追加機能が使用できない状況が依然として発生する可能性があります。 役に立つ。次のような機能を提供します。

  • 可逆性: 順方向と逆方向の両方で反復できます。
  • 並べ替え: move_to_end() メソッドを使用して項目を並べ替えることができます。

結論

Python 3.6 以降のバージョンでは、挿入オーダーがデフォルトで辞書が追加され、宣言されたシーケンス内のキーと値のペアの便利で予測可能な処理が可能になります。ただし、可逆または並べ替え可能な辞書が必要な特定の要件では、OrderedDict クラスが依然として実行可能なオプションです。

以上がPython 辞書でキーの順序を保持するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート