gpt4 book ai didi

python - 按常见项目排序

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

我现在需要根据项目在其中的常见程度对列表进行排序。例如我有这些列表:

s1 = [a, b, f, d, c]
s2 = [b, f, e, a]
s3 = [c, f, b]

所以,在操作之后这些将变成:

s1 = [b, f, a, c, d]
s2 = [b, f, a, e]
s3 = [b, f, c]

b 和 f 在所有列表中都是公共(public)的,那么接下来是 a 或 c,它们在两个列表中都是公共(public)的。

有没有比我自己编写实现更简单的方法在 python 中实现这一点?

最佳答案

使用 Counter 计算所有三个列表的所有列表元素,然后根据它们的计数对它们进行排序:

from collections import Counter
listCounts= Counter(s1+s2+s3)
listOflists = [s1,s2,s3]
for listi in listOflists:
sorted(listi, key=listCounts.get, reverse = True)

输出:

s1 = [b, f, a, c, d]
s2 = [b, f, a, e]
s3 = [f, b, c] # Because `b` and `f` has same count maybe they replaced in output

关于python - 按常见项目排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35475962/

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