我有一对要迭代的对象。示例:
contentA = [1, 2, ..... 100000]
lenA = 123.12
contentB = [1, 2, ..... 100000]
lenB = 123.12
contentC = [1, 2, ..... 100000]
lenC = 123.12
现在要迭代它们,我使用以下python语法:
for (contType, contLen) in [(contentA, lenA), (contentB, lenB), (contentC, lenC)]:
# Do something
这很管用,但我的问题是:
在for循环中声明内联列表是否首先分配内存,然后对它们进行迭代?
由于所讨论的对象是巨大的,而且我必须进行的迭代次数也是巨大的,因此再次分配内存将消耗内存和时间。你知道吗
您创建的用于迭代元素的列表只包含
ContentA
、ContentB
和ContentC
上的指针。你知道吗因为在那个例子中只有3个元素,所以它在内存中的开销相当于3个元组(float,pointer)的列表大小。这不算什么。你知道吗
如果您想更高效一点,可以迭代元组
((contentA, lenA), (contentB, lenB), (contentC, lenC))
。你知道吗相关问题 更多 >
编程相关推荐