同じキーを含む 2 つの辞書がありますが、値のペアが異なります。dictA と dictB が問題の 2 つの辞書を表すようにしましょう。
dictA = {'key1':'Joe', 'key2':'Bob'}
dictB = {'key1':'Smith', 'key2':'Johnson'}
現在、ネストされた if ステートメントを使用して、一般的に発生するキーに基づいて新しい辞書を作成しています。そうすることで、キーを共有する値が、新しいディクショナリのリスト内に含まれます。以下でこれを確認してください。
dictAB = {} # Create a new dictionary
# Create a list container for dictionary values
for key in dictA.keys():
dictAB[key] = []
# Iterate through keys in both dictionaries
# Find matching keys and append the respective values to the list container
for key, value in dictA.iteritems():
for key2, value2 in dictB.iteritems():
if key == key2:
dictAB[key].append(value)
dictAB[key].append(value2)
else:
pass
Python辞書内包表記を使用して、これをよりクリーンな構造にするにはどうすればよいですか?