0
2つの辞書を返す2つの関数があります。 第3の機能では、update
を使ってこれらの辞書をマージしようとしましたが、印刷中にNone
という結果が出ました。 誰も私の間違いを説明できますか?この方法は、Python 3.4で動作しないところでPythonで2つの辞書をマージできません
def third():
a = first().copy()
return a.update(second())
:
def first():
dict1 = {
one : [1, 2, 3]
}
return dict1
def second():
dict2 = {
two : [3, 4, 5]
}
return dict2
def third():
return first().update(second)
print(third())
>>> None
Iはまた、この方法を試した
def third():
return dict(a.items() + b.items())
'.update'は** in-place **です。新しい辞書は返されません。たとえば、 Python 3では 'list(a.items())'と書かれていますが、扱いにくいようです。 – jonrsharpe
また、 'second 'を呼び出す必要があります。 'd = first(); d.update(second()) 'です。現在のところ、関数オブジェクトを参照しているだけで、関数オブジェクトが返すのではありません。 –
私はあなたが望むものはすでにここで答えられていると思う:http://stackoverflow.com/questions/38987/how-can-i-merge-two-python-dictionaries-in-a-single-expression –