gpt4 book ai didi

python - 在嵌套列表中获取特定索引的不同值

转载 作者:太空宇宙 更新时间:2023-11-04 03:07:03 24 4
gpt4 key购买 nike

我有一个包含大约 100 万条记录的嵌套列表,例如:

l = [['a', 'b', 'c', ...], ['d', 'b', 'e', ...], ['f', 'z', 'g', ...],...]

我想在第二个索引上获取内部列表的不同值,以便我的结果列表如下:

resultant = ['b', 'z', ...]

我试过嵌套循环,但速度不快,我们将不胜感激!

最佳答案

因为你想要独特的项目,你可以使用 collections.OrderedDict.fromkeys() 来保持顺序和独特的项目(因为使用哈希表来回键)并使用 zip( ) 获取第二项。

from collections import OrderedDict

list(OrderedDict.fromkeys(zip(my_lists)[2]))

在 python 3.x 中,因为 zip() 返回一个迭代器,你可以这样做:

colls = zip(my_lists)
next(colls)
list(OrderedDict.fromkeys(next(colls)))

或者在 dict.formkeys() 中使用生成器表达式:

list(OrderedDict.fromkeys(i[1] for i in my_lists))

演示:

>>> lst = [['a', 'b', 'c'], ['d', 'b', 'e'], ['f', 'z', 'g']]
>>>
>>> list(OrderedDict().fromkeys(sub[1] for sub in lst))
['b', 'z']

关于python - 在嵌套列表中获取特定索引的不同值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39143204/

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