python中的内联列表重新分配内存?

2024-09-27 00:18:11 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一对要迭代的对象。示例:

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循环中声明内联列表是否首先分配内存,然后对它们进行迭代?

由于所讨论的对象是巨大的,而且我必须进行的迭代次数也是巨大的,因此再次分配内存将消耗内存和时间。你知道吗


Tags: 对象in示例for语法dolena分配内存
1条回答
网友
1楼 · 发布于 2024-09-27 00:18:11

您创建的用于迭代元素的列表只包含ContentAContentBContentC上的指针。你知道吗

因为在那个例子中只有3个元素,所以它在内存中的开销相当于3个元组(float,pointer)的列表大小。这不算什么。你知道吗

如果您想更高效一点,可以迭代元组((contentA, lenA), (contentB, lenB), (contentC, lenC))。你知道吗

相关问题 更多 >

    热门问题