【发布时间】:2023-01-11 14:01:59
【问题描述】:
我正在继续我的 Python 学习之旅,遇到了一段代码,我对它在 Python 中的 SUM() 函数如何工作感到非常困惑。
代码如下
prices = {'apple': 0.75, 'egg': 0.50}
cart = {
'apple': 1,
'egg': 6
}
bill = sum(prices[item] * cart[item]
for item in cart)
print(f'I have to pay {bill:.2f}')
这个的最终输出是“我必须支付 3.75”
真正让我感到困惑的部分是 SUM 函数中的“迭代器”或“购物车中的项目”
从关于 SUM 函数的 python 文档中可以看出
总和(可迭代,[开始])
可迭代:字符串、列表、字典等项目。
开始:添加到最终结果的可选数值。它默认为 0。
因此,例如,如果使用此代码
sum([1,2,3], 4)
这基本上可以得出 1+2+3+4=10,这对我来说很有意义。
所以我很困惑代码 sn-p 的“for 循环”部分是如何合法的?
我试着用谷歌搜索,但我发现的大多数例子都非常简单,就像我刚才提到的那个,而且我找不到任何关于 FOR 循环如何与 SUM 一起工作的解释
【问题讨论】:
标签: python python-3.x dictionary for-loop sum