Skip to main content
 首页 » 编程设计

python之比较列表中的列表并计算出现次数

2025年05月04日21傻小

如果我有一个列表a,我想要一个函数f()

a = [[1,2,3],[1,2,3],[0,5,6],[0,5,4]] 

给出输出:

out = f(a) 
out 
>> {[1,2,3]:2,[0,5,6]:1,[0,5,4]:1]} 

顺序也很重要,我需要它完全相似 我打算使用 Counter 但它不适用于列表。套装也不在话下。有没有比从头开始做整个事情更“简单”的方法,比如使用 Counter 之类的东西?

请您参考如下方法:

由于字典键不能有可变对象,您需要将它们转换为元组(不可变对象(immutable对象)),然后执行 Counter:

from collections import Counter 
a = [[1,2,3],[1,2,3],[0,5,6],[0,5,4]] 
print(Counter(map(tuple, a))) 

哪些输出:

Counter({(1, 2, 3): 2, (0, 5, 6): 1, (0, 5, 4): 1})