enumerate() 函数是否预先计算元素数?
为了支持对集合进行索引,Python 包含 enumerate() 函数。它提供集合索引。
for index, item in enumerate(list):
# do domething
print index
就我而言,我有一个巨大的列表,想知道使用 手动创建索引是否更快枚举()?例如
index = 0
for item in list:
# do something
print index
index = index + 1
To support indexing over a collection Python includes enumerate() function. It provides index over collection.
for index, item in enumerate(list):
# do domething
print index
In my case I have a huge list and wonder if it is faster to create index manually that use enumerate()? e.g.
index = 0
for item in list:
# do something
print index
index = index + 1
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
内置
enumerate
函数;它不先验地计算元素。 是 C 代码实现:以下 函数即时生成一个
next
en
整数。The
enumerate
function is built in; it does not count the elements a priori. The following is the C-code implementation:So, the function yields a
next
en
integer on the fly.不, enumerate() 不会制作列表的装饰副本。它接受类似迭代器的东西作为其参数,并返回类似迭代器的东西作为其结果,因此它或多或少地执行“手动”示例正在执行的操作。
No, enumerate() isn't making a decorated copy of your list. It takes a something like an iterator as its argument and returns something like an iterator as its result, so it's doing more or less what your "manual" example is doing.