如何计算列表中的重复列表?蟒蛇

时间:2018-05-30 08:17:04

标签: python count

如何计算列表中的重复列表? 它是一个包含99999个元素的大型列表,每个元素仍然是一个包含两个元组的列表:[(1,2,3,4),(3,4,2,1)]。我想计算列表中的重复列表。

enter image description here

我做了类似的事情:在列表中计算重复元组 enter image description here

但是当列表中的计数重复列表时它不起作用。

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}

1 个答案:

答案 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,
...}