enumerate 是不是会创建其参数的副本?

Posted

技术标签:

【中文标题】enumerate 是不是会创建其参数的副本?【英文标题】:Does enumerate create a copy of its argument?enumerate 是否会创建其参数的副本? 【发布时间】:2014-05-25 18:13:06 【问题描述】:

如果我在遍历一个非常大的图集群列表时使用 enumerate,我想确保我不会在内存中不必要地创建此列表的任何副本。

我一直在尝试确认它不会创建任何副本,但想确定一下。

for i, cluster in enumerate(c):
    # code that does stuff with i and cluster

【问题讨论】:

【参考方案1】:

不,它没有。它会在循环执行时懒惰地迭代您传入的可迭代对象。

【讨论】:

以上是关于enumerate 是不是会创建其参数的副本?的主要内容,如果未能解决你的问题,请参考以下文章

使用索引/范围对数组进行切片是不是会创建数组的副本

将数据从 hdfs 导入到 hbase 是不是会创建一个副本

java中enumeration问题

Swift:为什么三元运算符会创建数组的副本而不是引用原始数据?

在 .NET 中,使用“foreach”迭代 IEnumerable<ValueType> 的实例会创建一个副本吗?那么我应该更喜欢使用“for”而不是“foreach”吗?

访问 MemoryCache 会创建副本吗?