目前,如果我想要遍历1通过n我可能会用下面的方法:
for _ in range(1, n+1):
print(_)
Run Code Online (Sandbox Code Playgroud)
是否有更简洁的方法来实现这一点,而无需参考n + 1?
奇怪的是,如果我想迭代一个从1开始的范围,这并不罕见,我必须将增加指定两次:
1范围的开始.+ 1范围的结束.Rol*_*ony 17
从文档:
range([start], stop[, step])
Run Code Online (Sandbox Code Playgroud)
start 默认为 0,step 可以是任何你想要的,除了 0 和 stop 是你的上限,它不是迭代次数。因此,将 n 声明为正确的上限,并且您不必向其添加 1。
例如
>>> for i in range(1, 7, 1): print(i)
...
1
2
3
4
5
6
>>> for i in range(1, 7, 2): print(i)
...
1
3
5
Run Code Online (Sandbox Code Playgroud)
一个很好的功能是它也可以反向工作。
>>> for i in range(7, 0, -1): print(i)
...
7
6
5
4
3
2
1
Run Code Online (Sandbox Code Playgroud)
Seb*_*zny 13
range(1, n+1)不被视为重复,但我可以看到如果您要更改1为另一个数字,这可能会变得很麻烦。
这使用生成器删除重复:
for _ in (number+1 for number in range(5)):
print(_)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10456 次 |
| 最近记录: |