Python - 嵌套在字典中的列表 - 如何对单个值求和

波兰宙斯

我尝试通读了许多类似的问题(这似乎最接近:Python sum dict values based on keys),但仍在努力回答下面的以下问题。归结为基础

我有以下 3 个以列表为键的字典:

{'milk': ['gallons', 5, 10, 50]}
{'eggs': ['cartons', 5, 2, 10]}
{'bacon': ['packages', 5, 7, 35]}

我希望能够总结每个嵌套列表的最后一个值,并有预期的,单值95显示在屏幕上。

我已经看到了涉及 lambda 的类似问题的答案,但我知道必须有一种方法可以通过遍历列表来做到这一点。我已经看到sumCounter的使用,并且愿意接受任何解释。先感谢您。

更新/添加上下文

感谢那些已经做出回应的人。我意识到可能需要更多上下文来回答这个问题。

这些条目来自这个类:

class GroceryCart(dict):

    def __init__(self):
        self = {}

    def addToCart(self, item, units, quantity, price):
        item_total = quantity*price
        self.update({item:[units, quantity, price, item_total]})

    def returnCart(self):
        return self

my_cart = GroceryCart()

这就是您获得信息的时髦结构的地方。我在下面尝试了@ggorlan 的回复,但遇到了关于没有使用 str 值的回溯错误.values()

Traceback (most recent call last):
  File "grocery_store.py", line 156, in <module>
    total = sum(sum(y[-1] for y in x.values()) for x in my_cart)
  File "grocery_store.py", line 156, in <genexpr>
    total = sum(sum(y[-1] for y in x.values()) for x in my_cart)
AttributeError: 'str' object has no attribute 'values'
迈赫达·佩德拉姆法尔

试试这个:

foods = {
    'milk': ['gallons', 5, 10, 50],
    'eggs': ['cartons', 5, 2, 10],
    'bacon': ['packages', 5, 7, 35]
}

s = sum([item[-1] for item in foods.values()])

s会95。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

在列表中打印单个键+值,嵌套在字典中

如何访问嵌套在字典列表中的字典的值

如何提取嵌套在字典列表中的值列表?

Python从字典中解开嵌套列表值

Python获取列表中的嵌套字典值

嵌套在字典中时,Python3.8中的初始化列表从值类型切换为引用类型吗?

如何从Python中的列表创建嵌套字典?

如何在 Python 的字典嵌套列表中查找鍵的值

如何仅按字母顺序打印嵌套在列表中、字典中的内部字典的键?

解析嵌套在字典中的列表以查找 Python 中具有相似字符的单词

如何访问嵌套在字典中的字典的值

如何在 Python 中的嵌套字典中附加列表

Python修改键列表中的嵌套字典值

带有值列表的Python中的嵌套字典理解

在字典中查找具有相同值的嵌套列表 [Python]

如何从嵌套在两个列表中的字典中获取值?

如何在python中简化嵌套列表的字典?

如何使唯一的嵌套字典列表在python中

如何将嵌套列表(python)分组到字典中?

在Python中,如何使用for循环从字典创建嵌套列表?

Python:如何对嵌套字典中的特定列表进行排序?

当调用外部方法时,嵌套在方法中的Python字典会自动执行所有值(方法)

Python:如何将嵌套字典中的嵌套列表转换成字典

如何获取嵌套在NSDictionary中的字典中的值?

如果python中列表形式的值如何在字典中求和

如何删除嵌套在列表中的元组?

Python使用组合对字典列表中的元组中的值求和?

在Python中合并两个字典列表中的值时,如何避免嵌套的for循环?

如何将字典中的值求和?Python,烧瓶