首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >python3中for循环的效率

python3中for循环的效率
EN

Stack Overflow用户
提问于 2016-09-12 13:20:47
回答 1查看 690关注 0票数 3

我目前正在学习Python (3),主要有使用R作为主要编程语言的经验。虽然在R for-loops中具有与Python相同的功能,但我被告知要避免将其用于大型操作,而是使用更高效的apply

我的问题是:for-loops在Python中的效率有多高,还有其他的选择吗?作为一个Python新手,是否值得探索这些可能性?

例如:

代码语言:javascript
复制
p = some_candidate_parameter_generator(data)
for i in p:
    fit_model_with paramter(data, i)

请相信我,给出一个例子是很棘手的,而不需要过多地研究特定的代码。但是,在R中,我会用apply编写一些东西,特别是如果p很大的话。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-09-12 13:37:36

注释正确地指出,for循环“仅与您的逻辑一样有效”;然而,Python中的rangexrange确实具有性能含义,这可能是您在问这个问题时所想到的。然而,这些方法与for循环的内在性能无关。

在Python3.0中,xrange现在只是隐式的range;然而,在小于3.0的Python版本中,曾经有一个区别-- range将整个可迭代性加载到内存中,然后遍历每个项,而xrange更类似于生成器,其中每个项只在需要时加载到内存中,然后在迭代之后从内存中删除。

更新问题后的

换句话说,如果您有一个需要通过for循环迭代的庞大的条目列表,那么使用生成器而不是列表或元组等通常更有内存效率。不过,这与Python for-循环的运行方式无关,但更多的是与您正在迭代的内容有关。如果有疑问,使用生成器,您的内存效率将与Python一样好。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39451346

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档