You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python中如何精简元组集合?移除首元素重复的元组

简便实现方法

给定目标集合,我们可以通过统计首元素出现次数再筛选的方式快速实现需求:

方法一:使用collections.Counter(简洁高效)

from collections import Counter

s = {(1, 2), (3, 4), (1, 3), ('v', 'n'), ('v', 'k')}
# 统计所有元组首元素的出现频次
first_element_counts = Counter(tuple_item[0] for tuple_item in s)
# 筛选出首元素仅出现一次的元组
result = {tuple_item for tuple_item in s if first_element_counts[tuple_item[0]] == 1}
print(result)  # 输出: {(3, 4)}

方法二:手动用字典统计(无需额外导入)

如果不想引入collections模块,也可以用普通字典完成统计:

s = {(1, 2), (3, 4), (1, 3), ('v', 'n'), ('v', 'k')}
count_dict = {}
# 遍历集合统计首元素次数
for t in s:
    key = t[0]
    count_dict[key] = count_dict.get(key, 0) + 1
# 筛选符合条件的元组
result = {t for t in s if count_dict[t[0]] == 1}
print(result)  # 输出: {(3, 4)}

核心逻辑:先遍历集合记录每个首元素的出现次数,再重新遍历集合,只保留那些首元素出现次数为1的元组,这样就能自动移除所有存在重复首元素的元组对。

内容的提问来源于stack exchange,提问作者Paul Jurczak

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.08 00:25:18