我想出了理解上的困惑,对此代码的正确解释是什么?
a = [(0,1),(1,2),(2,3)]
result = sum(n for _,n in a)
print(result)
答案 0 :(得分:1)
我想您的困惑来自,
和sum
也接受第二个论点。
在这种情况下,仅将一个参数传递给sum
,因为该行的值为
result = sum(n for (_, n) in a)
此行仅对元组列表中的所有第二个元素求和,等效于以下内容:
list_of_tuples = [(0,1),(1,2),(2,3)]
total = 0
for (first_element, second_element) in list_of_tuples:
total += second_element
print(total)
从技术上讲,_
是一个正常的有效标识符名称,但是惯例是将其用于代码下一部分所忽略的值。
答案 1 :(得分:0)
我认为另一种思考方式是:
result=0
for _,n in a:
result += n
例如,您可以用“ _,n”代替其他两个变量,例如“ x,y”。