for循环中的下划线“_”

Bat*_*man 4 python-3.x

我正在检查有关黑客等级的解决方案,其中我正在解决一个问题,要求从必须首先转换为嵌套列表的输入中打印得分第二高的人的姓名。

我理解代码中的所有逻辑和大部分代码,但为什么在 for 循环中使用下划线(_)。如果有不同的概念,请解释一下代码。

marksheet = []
for _ in range(0,int(input())):
    marksheet.append([input(), float(input())])

second_highest = sorted(list(set([marks for name, marks in marksheet])))[1]
print('\n'.join([a for a,b in sorted(marksheet) if b == second_highest]))
Run Code Online (Sandbox Code Playgroud)

blh*_*ing 7

当函数、生成器或元组的返回值要被丢弃时,使用下划线作为变量名是 Pythonic 约定。

在您的示例中,循环内的代码for不会使用 生成的值range(0,int(input())),因此使用下划线是有意义的,因为它清楚地表明循环不打算使用它。