如何计算列表中的重复列表?
它是一个包含99999个元素的大型列表,每个元素仍然是一个包含两个元组的列表:[(1,2,3,4),(3,4,2,1)]
。我想计算列表中的重复列表。
但是当列表中的计数重复列表时它不起作用。
from collections import Counter
Gn=MHs1(phi)
n=dict(Counter(Gn))
print(n)
结果:
{(1, 3, 2, 4): 163038, (1, 2, 3, 4): 330864, (3, 4, 1, 2): 17469, (2, 3, 1, 4): 162774, (1, 4, 2, 3): 163430, (2, 4, 1, 3): 162424}
答案 0 :(得分:0)
列表的问题是它们不可删除,因此Counter
无法计算。如何使用相同的方法将列表转换为元组(可以清除)并使用相同的方法?
from collections import Counter
Gn = [[(tuple(np.random.choice(range(2),4)), tuple(np.random.choice(range(2),4)))] for i in range(1000)]
n = dict(Counter([tuple(i) for i in Gn]))
print(n)
<强>输出强>
{(((0, 0, 0, 0), (0, 0, 0, 0)),): 3,
(((0, 0, 0, 0), (0, 0, 0, 1)),): 4,
(((0, 0, 0, 0), (0, 0, 1, 0)),): 4,
(((0, 0, 0, 0), (0, 0, 1, 1)),): 3,
...}