Python 在列表中比较列表并计算发生次数
如果我有一个列表Python 在列表中比较列表并计算发生次数,python,Python,如果我有一个列表a,我需要一个函数f() 这就给出了输出: out = f(a) out >> {[1,2,3]:2,[0,5,6]:1,[0,5,4]:1]} 顺序也很重要,我需要它完全相似 我本来打算使用计数器,但它不适用于列表。布景也是不可能的。有没有比从头开始做整个事情更简单的方法?可能使用类似于计数器的方法?因为字典键不能有可变对象,所以您需要将它们转换为元组(不可变对象),然后执行计数器: from collections import Counter a = [[1,
a
,我需要一个函数f()
这就给出了输出:
out = f(a)
out
>> {[1,2,3]:2,[0,5,6]:1,[0,5,4]:1]}
顺序也很重要,我需要它完全相似
我本来打算使用计数器
,但它不适用于列表。布景也是不可能的。有没有比从头开始做整个事情更简单的方法?可能使用类似于计数器的方法?因为字典键不能有可变对象,所以您需要将它们转换为元组(不可变对象),然后执行计数器
:
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})
由于字典键不能有可变对象,您需要将它们转换为元组(不可变对象),然后执行计数器:
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})
当你说“顺序很重要”时,你的意思是结果中的列表
应该以与输入中相同的顺序出现吗?你显示的输出是不可能的。清单不是hashable@MadPhysicistOP注意到在问题中,@gmds。不是真的。OP意味着有产生结果但不显示结果的代码。@MadPhysician我把OP所说的意思理解为“如果计数器
能够获得列表
,那么这就是我所期望的输出。我如何模仿这个功能?”。当你说“顺序很重要”时,您的意思是结果中的列表
应该以与输入中相同的顺序出现吗?您显示的输出是不可能的。清单不是hashable@MadPhysicistOP注意到在问题中,@gmds。不是真的。OP意味着有产生结果但不显示结果的代码。@MadPhysician我把OP的意思理解为“如果计数器
可以获得列表
,这就是我所期望的输出。我怎样才能模拟这个功能?”。