gpt4 book ai didi

python - 计算嵌套列表中的元素出现次数

转载 作者:太空狗 更新时间:2023-10-30 01:45:01 25 4
gpt4 key购买 nike

这可能是一个非常简单的问题,但我在其他地方找不到答案,所以我会问。查找元素在嵌套列表中出现次数的最佳方法是什么?例如:

my_list=[[a,b,c,d],[a,b,z,d],[a,c,f,e],[d,w,f,a]]

我如何找到“a”作为列表第一个元素的次数?或者更一般地说,'a' 在 my_list 中出现了多少次?我想有一种方法可以用 collections.Counter 来做到这一点,但我还没弄明白。

编辑对于 my_list,如果它是列表的第一个元素,我希望在计数时输出 a:3。如果将问题更改为查看 b 是否是第二个元素,则所需的输出将是 b:2

最佳答案

使用嵌套的生成器表达式:

Counter(x for sublist in my_list for x in sublist)

要对第一个位置的项目进行计数,不同的生成器表达式会获取该项目进行计数:

Counter(sublist[0] for sublist in my_list)

演示:

>>> from collections import Counter
>>> my_list=[['a','b','c','d'],['a','b','z','d'],['a','c','f','e'],['d','w','f','a']]
>>> Counter(x for sublist in my_list for x in sublist)
Counter({'a': 4, 'd': 3, 'c': 2, 'b': 2, 'f': 2, 'e': 1, 'w': 1, 'z': 1})
>>> Counter(sublist[0] for sublist in my_list)
Counter({'a': 3, 'd': 1})

关于python - 计算嵌套列表中的元素出现次数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11829422/

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