首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在循环语句中访问python类成员容器是不是效率低下?

在循环语句中访问python类成员容器是不是效率低下?
EN

Stack Overflow用户
提问于 2010-03-20 07:56:59
回答 1查看 179关注 0票数 1

我正在尝试采用一些最佳实践来保持我的python代码的效率。我听说在循环中访问成员变量会在循环的每次迭代中引起字典查找,所以我将它们缓存在局部变量中,以便在循环中使用。

我的问题是关于循环语句本身。如果我有下面的类:

代码语言:javascript
复制
class A(object):
   def __init__(self)
       self.myList = [ 'a','b','c', 'd', 'e' ]

成员函数中的以下代码是否会引起一次或每次循环迭代一次(5)字典查找?

代码语言:javascript
复制
for letter in self.myList:
     print letter

也就是说,如果我关心效率,我应该采用下面的模式吗?

代码语言:javascript
复制
localList = self.myList
for letter in localList:
    print letter

或者,这实际上是由于局部变量赋值导致效率较低吗?

请注意,如果我担心代码开发的整体效率,我知道早期优化是一个危险的陷阱。这里我特别问的是代码的效率,而不是代码的效率。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-03-20 08:06:27

self.myList创建迭代器,并使用该迭代器。对于迭代,不会在self上执行其他额外的查找。

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

https://stackoverflow.com/questions/2481254

复制
相关文章

相似问题

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