for循环中的下划线“ _”

时间:2018-07-28 10:19:32

标签: 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]))

1 个答案:

答案 0 :(得分:0)

当要从函数,生成器或元组返回的值被舍弃时,使用下划线作为变量名是Pythonic惯例。

在您的示例中,for循环内的代码未使用任何由range(0,int(input()))生成的值,因此使用下划线是有意义的,因为它很明显表明该循环不是故意的来利用它。