首页 > 解决方案 > for循环中的下划线“_”

问题描述

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

我理解代码中的所有逻辑和大部分代码,但是为什么 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]))

标签: python-3.x

解决方案


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

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


推荐阅读