本文目录导读:

我来详细介绍一下Python中取集合交集的几种方法和实际案例。
基本语法:使用 & 运算符或 intersection() 方法
使用 & 运算符
set1 = {1, 2, 3, 4, 5}
set2 = {4, 5, 6, 7, 8}
# 取交集
common = set1 & set2
print(common) # 输出: {4, 5}
使用 intersection() 方法
set1 = {1, 2, 3, 4, 5}
set2 = {4, 5, 6, 7, 8}
# 取交集
common = set1.intersection(set2)
print(common) # 输出: {4, 5}
实际案例
案例1:共同好友
my_friends = {'张三', '李四', '王五', '赵六'}
friend_friends = {'李四', '赵六', '钱七', '孙八'}
# 找出共同好友
common_friends = my_friends & friend_friends
print(f"共同好友:{common_friends}") # 输出: {'李四', '赵六'}
案例2:两个班级的共同课程
class_a_courses = {'数学', '语文', '英语', '物理'}
class_b_courses = {'数学', '化学', '英语', '生物'}
# 找出共同课程
common_courses = class_a_courses.intersection(class_b_courses)
print(f"共同课程:{common_courses}") # 输出: {'数学', '英语'}
案例3:员工技能匹配
required_skills = {'Python', 'Java', 'SQL', 'Docker'}
applicant_skills = {'Python', 'JavaScript', 'SQL', 'Git'}
# 找出匹配的技能
matching_skills = required_skills & applicant_skills
print(f"匹配的技能:{matching_skills}") # 输出: {'Python', 'SQL'}
print(f"匹配数量:{len(matching_skills)}") # 输出: 2
多个集合取交集
使用 & 运算符
set1 = {1, 2, 3, 4, 5}
set2 = {3, 4, 5, 6, 7}
set3 = {3, 4, 8, 9, 10}
# 三个集合的交集
common = set1 & set2 & set3
print(common) # 输出: {3, 4}
使用 intersection() 方法(支持多个参数)
set1 = {1, 2, 3, 4, 5}
set2 = {3, 4, 5, 6, 7}
set3 = {3, 4, 8, 9, 10}
# 多个集合的交集
common = set1.intersection(set2, set3)
print(common) # 输出: {3, 4}
将列表转换为集合取交集
# 假设有两个列表需要找出共同元素
list1 = [1, 2, 3, 4, 5, 5, 6] # 包含重复元素
list2 = [4, 5, 6, 7, 8, 8, 9]
# 转换为集合再取交集
common_elements = set(list1) & set(list2)
print(f"共同元素:{sorted(common_elements)}") # 输出: [4, 5, 6]
实际应用:用户标签匹配
# 电商网站用户标签
user_a_tags = {'电子', '数码', '手机', '电脑', '游戏'}
user_b_tags = {'手机', '家电', '电脑', '家居', '游戏'}
# 计算共同兴趣标签
common_interests = user_a_tags & user_b_tags
print(f"共同兴趣标签:{common_interests}")
# 输出: {'电脑', '游戏', '手机'}
# 计算兴趣相似度
similarity_score = len(common_interests) / len(user_a_tags | user_b_tags)
print(f"兴趣相似度:{similarity_score:.2%}") # 输出: 60.00%
注意事项
- 集合元素必须是不可变类型(数字、字符串、元组等)
- 返回值始终是集合类型
- 交集运算不会改变原集合
# 错误示例(包含列表)
# set1 = {1, 2, [3, 4]} # 这会报错,因为列表是可变的
# 正确用法
set1 = {1, 2, (3, 4)} # 使用元组
set2 = {(3, 4), 5, 6}
print(set1 & set2) # 输出: {(3, 4)}
这些就是Python中取集合交集的主要方法和案例,建议根据实际需求选择 & 运算符(更简洁)或 intersection() 方法(更灵活,支持多个集合)。
版权声明:NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播