python-3.x - 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]))
解决方案
当函数、生成器或元组的返回值打算被丢弃时,使用下划线作为变量名是 Pythonic 的约定。
在您的示例中,for
循环内的代码不使用由 生成的值range(0,int(input()))
,因此使用下划线是有意义的,因为很明显循环不打算使用它。
推荐阅读
- javascript - 如何从数组中删除重复值?当数组内的对象属性未定义时,我的代码失败
- mongodb - MongoDB 方面,忽略过滤器
- c++ - 从 Visual Studio 运行时,基本 C++ SDL 程序抛出异常 0xC0000005
- java - 为什么 distinct 对于 Java Streams 中的自定义类不起作用?
- ruby-on-rails - Rails 6 - 即使我将密码添加到“filter_parameters”中,密码也会显示在日志中
- reactjs - 如何在反应钩子项目中使用 axios 和 json 服务器更新对象
- flutter - 如何从颤振中的json获取位置经纬度
- javascript - 未点击按钮提交的表单
- assembly - 在汇编代码中计算表达式
- css - 将样式表添加到 Angular 11 应用程序