试一试吧:
def f():
for i in range(100000):
...
def g():
i = 0
while i < 100000:
i += 1
>>> %timeit f()
2.29 ms ± 69 µs per loop (mean ± std. dev. of 7 runs, 100 loops each)
>>> %timeit g()
5.77 ms ± 26.4 µs per loop (mean ± std. dev. of 7 runs, 100 loops each)
Run Code Online (Sandbox Code Playgroud)
捣毁。但是,严肃地说,由于以下原因,这种比较都没有多大意义:
for-loop实现为while-loop,但该新循环将有额外的代码来匹配功能while并for服务于不同目的和比较它们就像是与桔子比较苹果for和while是极不可能成为性能瓶颈。