我可以用范围功能替换while循环.我正在使用以下代码
check = 0
while check<5:
print check
check+=2
Run Code Online (Sandbox Code Playgroud)
我是按照以下方式写作的
for _check in range(0,5,2):
print _check
Run Code Online (Sandbox Code Playgroud)
这是正确的方法吗?
>编辑我的问题
如果我没有在循环中使用_check变量.我也可以避免宣布
是的,你使用range()正确,但你可能想在xrange()这里使用:
for check in xrange(0, 5, 2):
print check
Run Code Online (Sandbox Code Playgroud)
xrange() 迭代时产生相同的结果,但不会首先构建所有可能索引的完整列表,因此使用更少的内存:
>>> range(0, 5, 2)
[0, 2, 4]
>>> xrange(0, 5, 2)
xrange(0, 6, 2)
Run Code Online (Sandbox Code Playgroud)
由于端点不包含在值中,因此无论您使用5或6此处作为端点,它都只是根据输入参数为您计算的.
如果您没有使用循环变量,则可以_用来表示您在循环中忽略它.这只是一个命名约定:
for _ in xrange(0, 5, 2):
# do something 3 times.
Run Code Online (Sandbox Code Playgroud)
在这种情况下,您也可以只计算0到5之间的索引数,步长为2,并简化循环:
upper_limit, step = 5, 2
for _ in xrange((upper_limit - 1 + step) // step):
# do something 3 times.
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2212 次 |
| 最近记录: |