热门标签 | HotTags
当前位置:  开发笔记 > 开发工具 > 正文

3集合常用操作交叉并补

集合常用操作-交叉并补集合1.difference(集合2)差集集合1-集合2set1{周杰伦,王宝强,李宇春,斯嘉丽}set2{周润发,刘德华,李宇春,斯嘉丽}#运算符#算se

集合常用操作-交叉并补

"""
集合1.difference(集合2) 差集
集合1 - 集合2
"""
set1 = {"周杰伦", "王宝强", "李宇春", "斯嘉丽"}
set2 = {"周润发", "刘德华", "李宇春", "斯嘉丽"}
# 运算符
# 算set1的差集
print(set1 - set2) # {'王宝强', '周杰伦'}
# 算set2的差集
print(set2 - set1) # {'刘德华', '周润发'}
# 方法
# 算set1的差集
print(set1.difference(set2)) # {'周杰伦', '王宝强'}
# 算set2的差集
print(set2.difference(set1)) # {'周润发', '刘德华'}

"""
并集
集合1.union(集合2)
集合1 | 集合2
"""
set1 = {"周杰伦", "李宇春", "王宝强", "斯嘉丽"}
set2 = {"周润发", "刘德华", "斯嘉丽", "李宇春"}
# 运算符
print(set1 | set2) # {'周杰伦', '刘德华', '李宇春', '王宝强', '斯嘉丽', '周润发'}
# 方法
print(set1.union(set2)) # {'周杰伦', '周润发', '李宇春', '斯嘉丽', '王宝强', '刘德华'}

"""
交集
集合1.intersection(集合2)
集合1 & 集合2
"""
set1 = {"周杰伦", "李宇春", "王宝强", "斯嘉丽"}
set2 = {"周润发", "刘德华", "斯嘉丽", "李宇春"}
# 运算符
print(set1 & set2) # {'斯嘉丽', '李宇春'}
# 方法
print(set1.intersection(set2)) # {'斯嘉丽', '李宇春'}

"""
对称差集:返回两个集合中不重复的元素集合, 补集情况涵盖在其中
集合1.symmetric_difference(集合2)
集合1 ^ 集合2
"""
set1 = {"周杰伦", "李宇春", "王宝强", "斯嘉丽"}
set2 = {"周润发", "刘德华", "斯嘉丽", "李宇春"}
print(set1 ^ set2) # {'刘德华', '周杰伦', '周润发', '王宝强'}
print(set1.symmetric_difference(set2)) # {'刘德华', '周杰伦', '周润发', '王宝强'}
"""基于对称差集就可以很方便的得到补集"""
# (A ^ B) & B = A的补集
# (A ^ B) & A = B的补集
set1 = {"周杰伦", "李宇春", "王宝强", "斯嘉丽"}
set2 = {"周润发", "刘德华", "斯嘉丽", "李宇春"}
# set1的补集
print((set1 ^ set2) & set2) # {'周润发', '刘德华'}
# set2的补集
print((set1 ^ set2) & set1) # {'周杰伦', '王宝强'}

"""
issuperset 判断一个集合是否是另一个集合的超集(父集)
issubset 判断一个集合是否是另一个集合的子集
"""
set1 = {"A", "B", "C", "D"}
set2 = {"A", "D"}
set3 = {"A", "C"}
# 判断set1是否是set2的父集
print( set1.issuperset(set2)) # True
# 判断set3是否是set1的子集
print( set3.issubset(set1)) # True
# 判断set2是否是set3的父集
print( set2.issuperset(set3)) # False
# 判断set2是否是set3的子集
print( set2.issubset(set3)) # False



推荐阅读
  • 实践指南:使用Express、Create React App与MongoDB搭建React开发环境
    本文详细介绍了如何利用Express、Create React App和MongoDB构建一个高效的React应用开发环境,旨在为开发者提供一套完整的解决方案,包括环境搭建、数据模拟及前后端交互。 ... [详细]
  • 本文详细探讨了BCTF竞赛中窃密木马题目的解题策略,重点分析了该题目在漏洞挖掘与利用方面的技巧。 ... [详细]
  • 在学习 ASP.NET 时,遇到了编译器错误 BC30456,提示 'InitializeCulture' 不是类的成员。本文将详细介绍该问题的原因及解决方案。 ... [详细]
  • iOS snow animation
    CTSnowAnimationView.hCTMyCtripCreatedbyalexon1614.Copyright©2016年ctrip.Allrightsreserved.# ... [详细]
  • 此更新支持将 Cognito User Pools 作为 API Gateway 授权器的类型 ... [详细]
  • 本文详细解析了 Git diff 命令的输出结果,帮助开发者更好地理解和使用这一重要工具。 ... [详细]
  • 一、MATLAB常用的基本数学函数abs(x):纯量的绝对值或向量的长度angle(z):复数z的相角(Phaseangle)sqrt(x)࿱ ... [详细]
  • Quora问题探讨:26岁开始转行做开发是否太迟? ... [详细]
  • 解决CLion无法检测到已安装CMake的问题
    本文详细探讨了在Windows系统上安装CMake并将其添加到环境变量后,CLion仍然无法检测到CMake的原因及解决方案。 ... [详细]
  • MySQL初级篇——字符串、日期时间、流程控制函数的相关应用
    文章目录:1.字符串函数2.日期时间函数2.1获取日期时间2.2日期与时间戳的转换2.3获取年月日、时分秒、星期数、天数等函数2.4时间和秒钟的转换2. ... [详细]
  • 计算当前记录与下一条记录之间的天数差异
    本文介绍如何使用SQL查询来计算当前记录与其下一条记录之间的天数差异,通过创建测试视图并使用分析函数LEAD和LAG来实现。 ... [详细]
  • Linux 文件对比与补丁操作详解
    本文详细介绍了在Linux系统中进行文件对比和补丁操作的方法,包括生成补丁、打补丁以及撤销补丁的具体步骤。重点强调了打补丁时的注意事项,以确保操作的准确性和安全性。 ... [详细]
  • 本文介绍了一种使用 JavaScript 计算两个日期之间时间差的方法。该方法支持多种时间格式,并能返回秒、分钟、小时和天数等不同精度的时间差。 ... [详细]
  • 本文详细介绍了MySQL数据库的基础语法与核心操作,涵盖从基础概念到具体应用的多个方面。首先,文章从基础知识入手,逐步深入到创建和修改数据表的操作。接着,详细讲解了如何进行数据的插入、更新与删除。在查询部分,不仅介绍了DISTINCT和LIMIT的使用方法,还探讨了排序、过滤和通配符的应用。此外,文章还涵盖了计算字段以及多种函数的使用,包括文本处理、日期和时间处理及数值处理等。通过这些内容,读者可以全面掌握MySQL数据库的核心操作技巧。 ... [详细]
  • 在HTML布局中,即使将 `top: 0%` 和 `left: 0%` 设置为元素的定位属性,浏览器中仍然会出现空白填充。这个问题通常与默认的浏览器样式、盒模型或父元素的定位方式有关。为了消除这些空白,可以考虑重置浏览器的默认样式,确保父元素的定位方式正确,并检查是否有其他CSS规则影响了元素的位置。 ... [详细]
author-avatar
拍友2602932873
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有