gpt4 book ai didi

python - 如何干净地更新字典中的值?

转载 作者:太空宇宙 更新时间:2023-11-04 08:09:57 25 4
gpt4 key购买 nike

我有一段代码迭代一个列表,然后根据键在字典中累积值,丑陋的部分是我需要检查键是否已经存在于字典中,如果不存在,那么我需要首先将值设置为零。

我想知道是否有更优雅的风格来实现这个:

for r in records:
if not d.has_key(r[0]):
d[r[0]] = 0
d[r[0]] += r[1]

更进一步,如果值是一个列表,那么如何重写下面的代码:

for (key, value) in records:
if not d.has_key(key):
d[key] = []
d[key].append(value)

最佳答案

您可以使用内置的 dict.get获取默认值的方法,像这样

for r in records:
d[r[0]] = d.get(r[0], 0) + r[1]

dict.get 的第二个参数是当键不在字典中时返回的默认值。

更好的是,您可以像这样解压值

for (key, value) in records:
d[key] = d.get(key, 0) + value

关于python - 如何干净地更新字典中的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24523838/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com