【发布时间】:2021-03-21 19:47:08
【问题描述】:
num = {"functions": 10, "syntax": 13, "flow": 15, "loops": 22, "lists": 19}
total = 0
这不起作用:
total += num for num in num.values():
这样做:
for num in num_exercises.values():
total_exercises += num
在工作量或字符长度方面没有太大区别,但为了对语法的一般理解,最好能解释一下。
我自己无法通过谷歌搜索或试错来回答这个问题。
【问题讨论】:
-
num for num in num.values()是生成器表达式,不能将生成器表达式添加到整数。你可以做total += sum(...)。 -
您不能只是翻转事物并期望它起作用。这就是原因。
-
如果你想在一行中完成:
total = sum(num.values())
标签: python list loops iteration