繁体   English   中英

如何访问嵌套列表中的元素

[英]How to access elements in a nested list

我有一个元素列表。 每个元素都是一个列表。 例如

a=[[1,2,3,[1,2,3,4]], [4,5,6,[2,5]], [7,8,9,[3,3,4]]...]]

如何从外部列表中的每个元素(例如[2,5,...])中说出第二个元素?

a [:,2]会很好(它可能有其他可能的解释),但看来我执行此操作的唯一方法是使用一些描述的for循环。 如果是后者,在我看来,最好为每个元素使用命名数组重写代码。 然后我会问-清单何时真正有用?

如果使用圆括号并用元组替换术语列表,我可能会问同样的问题,然后导致我问为什么要打扰一下差异? 元组不能给我带来什么?

如果要避免循环,可以使用itemgettermap提取列表:

import operator

a = [[1,2,3,[1,2,3,4]], [4,5,6,[2,5]], [7,8,9,[3,3,4]]]
print map(operator.itemgetter(1), a) # [2, 5, 8]

根据列表中保存的数据,最好创建一个类并使用对象。 使用列表使您能够使用列表操作,并允许将子列表用作序列和可迭代对象,这可能对您有所帮助,具体取决于您要对数据执行的操作。 使用自定义类和魔术方法可以实现相同的功能,但需要更多的工作。

使用元组将使您可以在集合和字典键中使用它们,因为它们是不可变的。 还有其他问题 ,其中有关于差异的详细答案。

你尝试过这个吗?

>>> a=[[1, 2, 3, [1, 2, 3, 4]], [4, 5, 6, [2, 5]], [7, 8, 9, [3, 3, 4]]]
>>> [ i[1] for i in a]
[2, 5, 8]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM