python - Python 性能:While 与 For 循环
问题描述
有人告诉我,while循环通常比for循环快。
这是真的吗?如果是,那是为什么?
解决方案
试一试吧:
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)
破获。但是,严肃地说,由于以下原因,这样的比较都没有多大意义:
- 虽然您可以将任何
for
-loop 实现为while
-loop,但该新循环将具有额外的代码来匹配功能 while
并for
服务于不同的目的,比较它们就像比较苹果和橘子- 它是 Python,这里没有人真正关心纳秒。
for
在和while
之间进行选择极不可能成为性能瓶颈。
推荐阅读
- javascript - 创建像 shopify 这样的变体表
- python - 将索引列表转换为二维 numpy 数组的最快方法
- laravel - 在局域网上访问 Laravel
- ios - 我们如何将具有库的 sdk/Framework 共享给其他项目?
- flutter - http请求的单例类
- php - Laravel 5.4 和我的 PHP 版本是 7.3 抛出 count() 错误:参数必须是数组或对象
- ios - iOS 10 - 如何创建自定义导航栏大标题
- flutter - 为单独的卡片添加不同的 onTap 页面
- amazon-web-services - Terraform 两个 PostgreSQL 数据库设置
- c++ - 如何使用 ATL/MSOLEDBSQL 启用连接资源池?