gpt4 book ai didi

python - 添加保持零值的计数器

转载 作者:行者123 更新时间:2023-12-04 15:22:12 25 4
gpt4 key购买 nike

我尝试使用以下代码对其他词典中存在的键的值求和:

import functools
import operator
import collections

my_dict = [{'a':0, 'b':1, 'c':5}, {'b':3, 'c':2}, {'b':1, 'c':1}]
sum_key_value = functools.reduce(operator.add, map(collections.Counter, my_dict))

print(sum_key_value)

# Output
# Counter({'c': 8, 'b': 5})

我的问题是,如果我希望输出保留所有字典键,即使键没有出现在所有字典中,例如 a 在我的例子中,最好的方法是什么?使用循环?

最佳答案

好吧,使用 for 循环有很多不错的方法,但是由于您特别想避免 for 循环,这里有一种方法:

sum_key_value = dict(functools.reduce(lambda a, b: a.update(b) or a,
my_dict, collections.Counter()))

那么这里发生的是您创建一个计数器,并使用它来累积值。

关于python - 添加保持零值的计数器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63068744/

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