为什么python中的update()返回None?[duplicate]

ia2d9nvy  于 2023-01-08  发布在  Python
关注(0)|答案(1)|浏览(283)
    • 此问题在此处已有答案**:

Why doesn't a python dict.update() return the object?(11个答案)
22小时前关门了。
我尝试使用update()合并2个字典,但在打印函数结果时显示"None"

def merge_dictionaries(dict1,dict2):
     return dict1.update(dict2)

dict1 = {'Ten': 10, 'Twenty': 20, 'Thirty': 30}
dict2 = {'Thirty': 30, 'Fourty': 40, 'Fifty': 50}

print(merge_dictionaries(dict1,dict2))

为什么我什么都没有?
我尝试更改输入值,但没有任何更改/

dz6r00yl

dz6r00yl1#

update()方法不返回带有更新的新字典,它只是在适当的位置更新字典。

这样,您可以返回已更新的字典:

def merge_dictionaries(dict1,dict2):
     dict1.update(dict2)
     return dict1


您还应该考虑使用其他方法来合并字典,例如

  • {**dict1, **dict2}语法
  • collections模块中的ChainMap
  • 词典理解
  • merge_dict库中的union()方法
  • dict1 | dict2语法

相关问题