【发布时间】:2013-10-24 02:50:59
【问题描述】:
例如,我需要调用readline 10次来读取文件。
with open("input") as input_file:
for i in range(10):
line = input_file.readline()
# Process the line here
这是使用range 控制循环次数的一种非常常见的技术。唯一的缺点是:有一个未使用的i 变量。
这是我能从 Python 中得到的最好的东西吗?有更好的想法吗?
附:在 Ruby 中我们可以这样做:
3.times do
puts "This will be printed 3 times"
end
优雅,表达意图非常清楚。
【问题讨论】:
-
Python 缺少该功能的一个原因是,当您编写可测试的代码时,实际上很少想做您所要求的事情。当然,它会发生,但不如所有其他正在编写的循环那么多。
-
仅供参考,将您的 Ruby 更改为
3.times do |x|并且x现在等同于您的 Python 示例中的i。就像@poundifdef 所说,Ruby 只是对你隐藏它。