gpt4 book ai didi

python - 列表元素的计数器

转载 作者:太空狗 更新时间:2023-10-29 19:32:20 25 4
gpt4 key购买 nike

这里是 Python 的新手。

我正在寻找一种创建列表(输出)的简单方法,它返回另一个目标列表(MyList)的元素计数,同时保留索引(?)。

这是我想要得到的:

MyList = ["a", "b", "c", "c", "a", "c"]
Output = [ 2 , 1 , 3 , 3 , 2 , 3 ]

我找到了类似问题的解决方案。计算列表中每个元素的出现次数。

In  : Counter(MyList)
Out : Counter({'a': 2, 'b': 1, 'c': 3})

然而,这会返回一个不保留索引的 Counter 对象。

我假设给定计数器中的键我可以构建我想要的输出,但是我不确定如何继续。

额外信息,我在脚本中导入了 pandas,而 MyList 实际上是 pandas 数据框中的一列。

最佳答案

您可以使用函数 itemgetter 而不是另一个解决方案中的 listcomp:

from collections import Counter
from operator import itemgetter

lst = ["a", "b", "c", "c", "a", "c"]

c = Counter(lst)
itemgetter(*lst)(c)
# (2, 1, 3, 3, 2, 3)

更新:正如@ALollz 在评论中提到的,这个解决方案似乎是最快的解决方案。如果 OP 需要列表而不是元组,则必须使用 list 转换结果。

关于python - 列表元素的计数器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54749421/

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