gpt4 book ai didi

python - 访问嵌套列表中元素的最快方法是什么?

转载 作者:行者123 更新时间:2023-11-28 22:34:34 25 4
gpt4 key购买 nike

我有一个由三层组成的列表,出于说明目的看起来像这样:

a = [[['1'],['2'],['3'],['']],[['5'],['21','33']]]

因此我有一个顶部列表,其中包含几个其他列表,每个列表又包含列表。

第一层将包含数十个列表。下一层可能包含数百万个列表,底层将包含空字符串、单个字符串或少量值(每个都是一个字符串)。

我现在需要访问最底层的值,并按照特定顺序将它们存储在新列表中,这是在循环内完成的。访问这些值的最快方法是什么?使用的内存量不是我最关心的问题(尽管我显然也不想浪费它)。

我可以想到两种方法:

  1. 我直接访问列表 a 以检索所需的值,例如a[1][1][0] 将返回 '21'
  2. 我创建了 a 元素的副本,然后访问这些元素以进一步展平列表。因此,在这种情况下,例如:b=a[0]c=a[1] 所以不是访问 a[1][1][0 ] 我现在将访问 b[1][0] 以检索 '21'

访问嵌套列表是否会影响性能?因此,将列表 a 拆分成单独的列表是否有任何好处,或者我这样做只是招致 RAM 惩罚?

最佳答案

通过索引访问元素(即:a[1][1][0])是一个 O(1) 操作:source .你不会比这更快。

现在,赋值也是一个 O(1) 操作,因此就速度而言,您描述的两种方法之间没有区别。第二个实际上不会引起任何内存问题,因为对列表的分配是通过引用,而不是通过复制(除非您明确告诉它否则)。

关于python - 访问嵌套列表中元素的最快方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38876963/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com