3

私は辞書を2冊持っています。dict1 と dict2。dict 2 は常に同じ長さですが、dict1 の長さは異なります。両方の辞書は次のとおりです。

dict2 = {"name":"martin","sex":"male","age":"97","address":"blablabla"}

dict1 = {"name":"falak", "sex":"female"}

dict1 と dict2 の両方に基づく 3 つ目の辞書を作成したいと考えています。dict3 には dict2 のすべての値が含まれます。ただし、dict1 に存在するすべてのキーは置き換えられます。これが結果のdict3です

dict3 = {"name":"falak","sex":"female","age":"97","address":"blablabla"}

複数の if ステートメントを使用して実行できますが、よりスマートな方法が必要です。それに関して誰かが私を案内してくれませんか。

4

4 に答える 4

11

やってみました:

dict3 = dict(dict2, **dict1)

または:

dict3 = dict2.copy()
dict3.update(dict1)
于 2013-05-13T14:30:22.450 に答える
0

Pythonのドキュメントから:

update([その他])

  • 既存のキーを上書きして、他のキーと値のペアでディクショナリを更新します。
  • なしを返します。
  • update() は、別のディクショナリ オブジェクトまたはキーと値のペアの反復可能オブジェクト (タプルまたは長さ 2 の他の反復可能オブジェクト) のいずれかを受け入れます。キーワード引数が指定されている場合、ディクショナリはそれらのキーと値のペアで更新されます: d.update(red=1, blue=2)。
  • バージョン 2.4 で変更: 引数をキーと値のペアの iterable にすることを許可し、キーワード引数を許可しました。

そう:

dict1.update(dict2)
于 2013-05-13T14:32:35.677 に答える