私は2つの辞書があり、それらを1つにしたいと思います:
この擬似Pythonのようなものは素晴らしいでしょう:
dic0 = {'dic0': 0}
dic1 = {'dic1': 1}
ndic = dic0 + dic1
# ndic would equal {'dic0': 0, 'dic1': 1}
中間ストレージを使用せずに新しいdictを作成することに興味がある場合:(これはdict.items()を使用するよりも高速で、私の意見ではきれいです)
dic2 = dict(dic0, **dic1)
または、既存の辞書のいずれかを使用して満足している場合:
dic0.update(dic1)
>>> dic0 = {'dic0':0}
>>> dic1 = {'dic1':1}
>>> ndic = dict(dic0.items() + dic1.items())
>>> ndic
{'dic0': 0, 'dic1': 1}
>>>
辞書を追加するいくつかの方法があります。
Python3の辞書展開機能を使用できます。
ndic = {**dic0, **dic1}
または、両方の項目を追加して新しい辞書を作成します。
ndic = dict(dic0.items() + dic1.items())
変更してもよければdic0
dic0.update(dic1)
あなたの[〜#〜] not [〜#〜] OKを修正する場合dic0
ndic = dic0.copy()
ndic.update(dic1)
1つの辞書内のすべてのキーが文字列(dic1
この場合、もちろん引数は交換できます)
ndic = dict(dic0, **dic1)
場合によっては、dict内包表記(Python 2.7以降)を使用すると便利な場合があります。
特に、いくつかのキー/値を同時に除外または変換する場合。
ndic = {k: v for d in (dic0, dic1) for k, v in d.items()}
dic0.update(dic1)
これは実際には結合された辞書を返さず、単にdic0
。
次回質問する前にサイトを検索してください: 2つの辞書を連結してPythonで新しい辞書を作成する方法
最も簡単な方法は、サンプルコードを使用するだけですが、各辞書のitems()メンバーを使用することです。したがって、コードは次のようになります。
dic0 = {'dic0': 0}
dic1 = {'dic1': 1}
dic2 = dict(dic0.items() + dic1.items())
これをIDLEでテストし、正常に動作します。ただし、このトピックに関する前の質問では、このメソッドは低速であり、メモリを消費することが示されています。そこで推奨される他のいくつかの方法がありますので、メモリ使用量が重要な場合はそれを見てください。