问题描述
在我头顶上,没有。
我认为您可以做的最好的事情是这样的:
def loop(f,n):
for i in xrange(n): f()
loop(lambda: <insert expression here>, 5)
但是我认为您可以忍受额外的i
变量。
这是使用_
变量的选项,实际上,它只是另一个变量。
for _ in range(n):
do_something()
请注意,_
分配给交互式python会话中返回的最后一个结果:
>>> 1+2
3
>>> _
3
因此,我不会以这种方式使用它。我不知道瑞安提到的任何成语。它会弄乱您的口译员。
>>> for _ in xrange(10): pass
...
>>> _
9
>>> 1+2
3
>>> _
9
identifier ::= (letter|"_") (letter | digit | "_")*
解决方法
有没有可能做下面的事情i
吗?
for i in range(some_number):
# do something
如果您只想执行N次操作并且不需要迭代器。