【发布时间】:2016-12-17 01:08:39
【问题描述】:
我有一个由三层组成的列表,出于说明目的看起来像这样:
a = [[['1'],['2'],['3'],['']],[['5'],['21','33']]]
因此,我有一个顶部列表,其中包含其他几个列表,每个列表又包含列表。
第一层将包含数十个列表。下一层可能包含数百万个列表,而底层将包含空字符串、单个字符串或少数值(每个值都是字符串)。
我现在需要访问最底层的值并将它们以特定顺序存储在一个新列表中,该顺序在循环内完成。访问这些值的最快方法是什么?使用的内存量不是我最关心的(尽管我显然也不想浪费它)。
我可以想到两种方法:
- 我直接访问列表
a以检索所需的值,例如a[1][1][0]将返回'21'。 - 我创建了
a元素的副本,然后访问这些元素以使列表更加扁平化。因此,在这种情况下,例如:b=a[0]、c=a[1]因此,我现在将访问b[1][0]以检索'21',而不是访问a[1][1][0]。
访问嵌套列表是否存在性能损失?因此,将列表 a 拆分为单独的列表是否有任何好处,还是我这样做只会招致 RAM 损失?
【问题讨论】:
标签: python list python-2.7 nested-lists