gpt4 book ai didi

python - 计算列表中重复元组的数量

转载 作者:行者123 更新时间:2023-12-04 16:33:16 24 4
gpt4 key购买 nike

我想计算列表中重复元组的数量。

例如 num_list:

num_list = [(3,14),(2,8),(10,25),(5,17),(3,2),(7,25),(4,30),(8,7),(int(2),8),(1,22)]

我要返回结果: Total duplicates: 1这是 (2, 8)一对。

到目前为止我所拥有的并不是很有效,所以我想知道是否有更有效的方法来做到这一点?
count = 0
for a in num_list:
for b in num_list:

if a is b:
continue

if a[0] == b[0] and a[1] == b[1]:
count += 1

最佳答案

num_list = [(3,14),(2,8),(10,25),(5,17),(3,2),(7,25),(4,30),(8,7),(int(2),8),(1,22)]

dupe_count = len(num_list) - len(set(num_list))

print(dupe_count)

如果您关心实际项目出现多次,最有效的方法是使用 Counter :
from collections import Counter

c = Counter(num_list)

c = {k: v for k, v in c.items() if v > 1}

print(c)

给出一个 dict出现多次的项目及其频率:
{(2, 8): 2}

关于python - 计算列表中重复元组的数量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58553920/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com