辞書の値を結合する

PythonPythonBeginner
今すぐ練習

This tutorial is from open-source community. Access the source code

💡 このチュートリアルは英語版からAIによって翻訳されています。原文を確認するには、 ここをクリックしてください

はじめに

辞書はPythonにおける基本的なデータ構造であり、キーと値のペアを格納するために使用されます。時々、2つ以上の辞書の値を1つの辞書に結合する必要がある場合があります。このチャレンジでは、2つ以上の辞書を引数として受け取り、入力辞書の値を結合した新しい辞書を返す関数を書きます。

辞書の値を結合する

2つ以上の辞書を引数として受け取り、入力辞書の値を結合した新しい辞書を返す関数combine_values(*dicts)を作成します。この関数は次の手順を実行する必要があります。

  1. 新しいcollections.defaultdictを作成し、各キーの既定値としてlistを使用します。
  2. 入力辞書をループし、各辞書に対して:
    • 辞書のキーをループします。
    • キーの値をdefaultdictのそのキーの値のリストに追加します。
  3. defaultdictdict()関数を使用して通常の辞書に変換します。
  4. 結果の辞書を返します。

この関数は次のシグネチャを持つ必要があります。

def combine_values(*dicts):
    pass
from collections import defaultdict

def combine_values(*dicts):
  res = defaultdict(list)
  for d in dicts:
    for key in d:
      res[key].append(d[key])
  return dict(res)
d1 = {'a': 1, 'b': 'foo', 'c': 400}
d2 = {'a': 3, 'b': 200, 'd': 400}

combine_values(d1, d2) ## {'a': [1, 3], 'b': ['foo', 200], 'c': [400], 'd': [400]}

まとめ

このチャレンジでは、2つ以上の辞書の値を1つの辞書に結合する方法を学びました。2つ以上の辞書を引数として受け取り、入力辞書の値を結合した新しい辞書を返す関数を作成しました。