代码之家  ›  专栏  ›  技术社区  ›  GreenMan

模块中的计数器在python3中键入忽略值为0的项

  •  0
  • GreenMan  · 技术社区  · 4 年前

    我想计算钥匙字典的价值。 我理解Counter在输入模块中忽略值为0的元素。代码为:

    from functools import reduce
    from typing import Counter
    
    pen={'age':0, 'cost':10}
    bottle={'age':0,'cost':30}
    all = [pen, bottle]
    reduce(lambda a,b: a+b, (Counter(item) for item in all))
    

    输出为{'cost':40},Counter忽略计数为0的元素。我希望输出为{“成本”:40,“年龄”:0}。 还有其他方法可以计算字典中关键字的值吗?

    0 回复  |  直到 4 年前
        1
  •  0
  •   GreenMan    4 年前

    谢谢,侯赛因·哈萨姆

    基于 This 我编辑代码基于 it :

    from functools import reduce
    from typing import Counter
    
    pen={'age':0, 'cost':10}
    bottle={'age':0,'cost':30}
    all = [pen, bottle]
    reduce(lambda a, b: a.update(b) or a, all, Counter())