Python实现循环的最快方式(for、while等速度对比)

文章探讨了Python中For循环与While循环的效率差异,指出For循环通常比While循环更快,特别是在大量迭代时。这主要是因为For循环利用了底层的C实现,避免了显式的边界检查和变量自增。进一步,文章建议使用内置函数如Sum来提高效率,甚至通过数学公式直接计算,以避免循环,从而极大提升性能。
摘要由CSDN通过智能技术生成

众所周知,Python不是一种执行效率较高的语言。此外在任何语言中,循环都是一种非常消耗时间的操作。假如任意一种简单的单步操作耗费的时间为1个单位,将此操作重复执行上万次,最终耗费的时间也将增长上万倍。

While和For是Python中常用的两种实现循环的关键字,它们的运行效率实际上是有差距的。比如下面的测试代码:

import timeit


def while_loop(n=100_000_000):
    i = 0
    s = 0
    while i < n:
        s += i
        i += 1
    return s


def for_loop(n=100_000_000):
    s = 0
    for i in range(n):
        s += i
    return s


def main():
    print('while loop\t\t', timeit.timeit(while_loop, number=1))
    print('for loop\t\t', timeit.timeit(for_loop, number=1))


if __name__ == '__main__':
    main()
# => while loop               4.718853999860585
# => for loop                 3.211570399813354

这是一个简单的求和操作,计算从1到n之间所有自然数的总和。可以看到For循环相比While要快1.5秒。

其中的差距主要在于两者的机制不同。

在每次循环中,While实际上比For多执行了两步操作:边界检查和变量i的自增。即每进行一次循环&

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值