如何创建包含仅属于多个集合中某一个集合的所有元素的新集合
单集合独有元素提取实现方案
需求说明
- 遍历4个不同集合的全部元素
- 筛选出仅在1个集合中存在、剩余3个集合都不存在的元素,存入新集合
参考示例
集合A={1,2,3,4,5}
集合B={1,2,3,4,6}
集合C={1,3,4,7}
集合D={1,8,9}
最终输出集合E={5,6,7,8,9}
Python 实现代码
实现思路:统计每个元素在多少个集合中出现,直接筛选出现次数等于1的元素即可,适配任意数量的输入集合场景。
from collections import defaultdict # 定义四个输入集合 set_a = {1, 2, 3, 4, 5} set_b = {1, 2, 3, 4, 6} set_c = {1, 3, 4, 7} set_d = {1, 8, 9} all_sets = [set_a, set_b, set_c, set_d] count_map = defaultdict(int) # 统计每个元素所属的集合数量 for s in all_sets: for elem in s: count_map[elem] += 1 # 生成仅在单个集合中出现的元素集合 set_e = {elem for elem, cnt in count_map.items() if cnt == 1} print(set_e) # 运行输出:{5, 6, 7, 8, 9}
内容的提问来源于stack exchange,提问作者lukan
相关产品推荐
相关产品推荐

