如何解决在 Python 中更新一系列字典
我遇到了一个需要用 dict.update()
解决问题的练习。
任务主体:dict.update 方法合并两个字典。写一个 接受任意数量的字典并返回一个字典的函数 反映了所有这些的组合。如果相同的键出现在 多个字典,那么最近合并的字典的值应该 出现在输出中。
我设法为 2 个输入编写了代码:
def d_update(first,second):
first = first.update(second)
return d1
d1 = {'a': 1,'b': 2,'c': 3}
d2 = {'a': 1,'c': 5}
print(d_update(d1,d2)) #outout is {'a': 1,'c': 5}
但我正在努力安排多个 dicts 序列。尝试使用:
def d_update(*sequence):
for D in sequence:
D = D.update(D)
return D
但它返回 None
。
我该怎么办?
解决方法
您的代码完全正确。你只是犯了一个小错误。
.update
是一个就地函数。它返回 None
或什么都不返回。
通过执行 D=D.update(D)
,您将 None
分配给 D
只需D.update(D)
这是更新后的代码。
def d_update(*sequence):
for D in sequence:
D.update(D)
return D
d1 = {'a': 1,'b': 2,'c': 3}
d2 = {'a': 1,'c': 5}
print(d_update(d1,d2)) #outout is {'a': 1,'c': 5}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。