ホームページ >バックエンド開発 >Python チュートリアル >Python リスト内の重複する辞書を削除するにはどうすればよいですか?

Python リスト内の重複する辞書を削除するにはどうすればよいですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-10-27 05:59:03292ブラウズ

How to Eliminate Duplicate Dictionaries in a Python List?

辞書のリストからの重複の削除

データ コレクション内の重複は、効率的なデータ処理の妨げになる可能性があります。 Python プログラミングでは、表形式のデータを保存するために辞書のリストがよく使用されます。ただし、このようなリストから重複した辞書を削除する必要がある場合があります。

次の辞書リストを考えてみましょう:

[
    {'id': 1, 'name': 'john', 'age': 34},
    {'id': 1, 'name': 'john', 'age': 34},
    {'id': 2, 'name': 'hanna', 'age': 30},
]

目標は、一意のみを含むリストを取得することです。辞書、重複を除く。これを実現するには、次のような単純なアプローチを採用できます。

ID をキーとして一時辞書を作成する

  1. リスト内包表記を使用して一時辞書を作成します。各辞書のキーは「id」フィールドです。
  2. このステップでは基本的に、各一意の「id」値を特定の辞書にマッピングします。

値からの一意の辞書の抽出

  1. values() メソッドを使用して一時辞書の値を取得します。
  2. 結果は、重複が削除された一意の辞書のリストです。

Python の実装

このアプローチを Python で実装する方法は次のとおりです:

<code class="python">def remove_duplicates_from_dicts(dict_list):
    dict_id_mapping = {v['id']: v for v in dict_list}
    return list(dict_id_mapping.values())

sample_list = [
    {'id': 1, 'name': 'john', 'age': 34},
    {'id': 1, 'name': 'john', 'age': 34},
    {'id': 2, 'name': 'hanna', 'age': 30},
]
print(remove_duplicates_from_dicts(sample_list))</code>

このコードは次の出力を生成します:

[{'id': 1, 'name': 'john', 'age': 34}, {'id': 2, 'name': 'hanna', 'age': 30}]

この戦略を採用すると、リストから重複した辞書を効果的に削除し、一意の要素のみを含む新しいリストを取得できます。

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

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