有没有办法将这个python代码转换为更pythonic的代码?
i = 0
while condition:
doSomething()
i+=1
答案 0 :(得分:1)
如果条件是关于i的值,那么" i< 10",您可以使用" for"语句:
for i in range (10):
do_something ()
这将执行该功能10次。
答案 1 :(得分:1)
我对此类型使用count
。
from itertools import count
c = count(0)
while condition:
doSomething()
next(c) # returns 0, +1 in further loops
但如果您知道自己需要多少循环,请尝试for loop
。
for i in range(n):
doSomething()
答案 2 :(得分:0)
到第二个itzmeontv's answer,我个人这样做:
for i in itertools.count():
if not condition:
break
do_something()
注意:如果可能的话,通常应该避免无限循环,但是,你知道更糟糕的是什么吗?手动计数器。特别是如果它们位于循环的底部。这就是为什么我将条件检查置于for
循环语句右下方的顶部。
但是,如果您知道需要多少次迭代,可以使用:
for i in range(100):
do_something()
将100
替换为所需的迭代次数。