ホームページ バックエンド開発 Python チュートリアル Python で辞書を整理する方法 (コード)

Python で辞書を整理する方法 (コード)

Oct 11, 2018 pm 02:24 PM
python

この記事の内容は、Python が辞書をどのように整理するか (コード) について述べたもので、一定の参考価値があり、困っている友人が参照できるようになっています。

1. 要件

ディクショナリを作成すると同時に、ディクショナリを反復またはシリアル化するときに、ディクショナリ内の要素の順序も制御できるようにしたいと考えています。

2. 解決策

辞書内の要素の順序を制御するには、コレクション モジュールの OrderedDict クラスを使用できます。ディクショナリを反復処理する場合、要素が最初に追加された順序で厳密に実行されます。

from collections import OrderedDict
d=OrderedDict()
d['a']=1
d['b']=2
d['c']=3
d['d']=4
#根据插入删除输出
for key in d:
print(key,d[key])
ログイン後にコピー

結果:

a 1
b 2
c 3
d 4
ログイン後にコピー

OrderedDict は、後でシリアル化または別の形式にエンコードできるマッピング構造を構築する場合に特に便利です。例: JSON をエンコードするときに各フィールドの順序を正確に制御したい場合は、最初に OrderedDict でデータを構築するだけです:

from collections import OrderedDict
import json

d=OrderedDict()
d['a']=1
d['b']=2
d['c']=3
d['d']=4
j=json.dumps(d)
print(j)
ログイン後にコピー

結果:

{"a": 1, "b": 2, "c": 3, "d": 4}
ログイン後にコピー
OrderedDict は内部的に二重リンクのリストを維持します。これにより、要素が追加された順序に従ってキーの位置が配置されます。最初に新しく追加された要素はリンク リストの最後に配置され、その後、キーの位置を変更せずに既存のキーが再割り当てされます。

注意: OrderedDict のサイズは通常の辞書の 2 倍です。これは、追加のリンク リストが作成されるためです。したがって、多数の OrderedDict インスタンスを含むデータ構造を構築する予定がある場合 (たとえば、CSV ファイルから OrderedDict リストに 100,000 行を読み取る場合)、アプリケーションの要件分析を実行して利点を判断する必要があります。 OrderedDict を使用する場合の追加のメモリ オーバーヘッドの欠点は克服できますか?

以上がPython で辞書を整理する方法 (コード)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットな記事タグ

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Deepseek Xiaomiをダウンロードする方法 Deepseek Xiaomiをダウンロードする方法 Feb 19, 2025 pm 05:27 PM

Deepseek Xiaomiをダウンロードする方法

テンプレートのメリットとデメリットは何ですか? テンプレートのメリットとデメリットは何ですか? May 08, 2024 pm 03:51 PM

テンプレートのメリットとデメリットは何ですか?

Google AI、開発者向けに Gemini 1.5 Pro と Gemma 2 を発表 Google AI、開発者向けに Gemini 1.5 Pro と Gemma 2 を発表 Jul 01, 2024 am 07:22 AM

Google AI、開発者向けに Gemini 1.5 Pro と Gemma 2 を発表

わずか 250 ドルで、Hugging Face のテクニカル ディレクターが Llama 3 を段階的に微調整する方法を教えます わずか 250 ドルで、Hugging Face のテクニカル ディレクターが Llama 3 を段階的に微調整する方法を教えます May 06, 2024 pm 03:52 PM

わずか 250 ドルで、Hugging Face のテクニカル ディレクターが Llama 3 を段階的に微調整する方法を教えます

いくつかの .NET オープンソース AI および LLM 関連プロジェクト フレームワークを共有する いくつかの .NET オープンソース AI および LLM 関連プロジェクト フレームワークを共有する May 06, 2024 pm 04:43 PM

いくつかの .NET オープンソース AI および LLM 関連プロジェクト フレームワークを共有する

golang 関数のデバッグと分析の完全ガイド golang 関数のデバッグと分析の完全ガイド May 06, 2024 pm 02:00 PM

golang 関数のデバッグと分析の完全ガイド

どうやって彼にdeepseekに尋ねますか どうやって彼にdeepseekに尋ねますか Feb 19, 2025 pm 04:42 PM

どうやって彼にdeepseekに尋ねますか

NET40とはどのようなソフトウェアですか? NET40とはどのようなソフトウェアですか? May 10, 2024 am 01:12 AM

NET40とはどのようなソフトウェアですか?

See all articles