如果我有一个列表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})
关于python - 比较列表中的列表并计算出现次数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56351927/