首页 > Python资料 博客日记
Python集合
2023-07-31 17:36:01Python资料围观253次
在数学上,集合(Set)是不以任何特定顺序的数据项。 Python集合与此数学定义类似,但有以下附加条件。
- 集合中的元素不能重复。
- 集合中的元素是不可变的(不能被修改),但集合作为一个整体是可变的。
- 附加到python集合中的任何元素不需要索引。所以集合不支持任何索引或切片操作。
集合操作
python中的集合通常用于像联合,相交,异同和补充等数学运算。下面创建一个集合,访问它的元素并执行这些数学运算。参考以下示例代码 -
创建一个集合
通过使用set()
函数或将所有元素放置在一对大括号内创建一个集合。
Days=set(["Mon","Tue","Wed","Thu","Fri","Sat","Sun"])
Months={"Jan","Feb","Mar"}
Dates={21,22,17}
print(Days)
print(Months)
print(Dates)
当上面的代码执行时,它会产生以下结果。 请注意结果中元素的顺序如何变化。
{'Wed', 'Fri', 'Tue', 'Mon', 'Thu', 'Sun', 'Sat'}
{'Feb', 'Mar', 'Jan'}
{17, 21, 22}
访问集合中的值
我们无法访问集合中的单个值。只能如上所示访问所有元素。 但是也可以通过遍历该集合来获取单个元素的列表。
Days=set(["Mon","Tue","Wed","Thu","Fri","Sat","Sun"])
for d in Days:
print(d)
当执行上面示例代码时,得到以下结果 -
Wed
Sun
Fri
Tue
Mon
Thu
Sat
将项目添加到集合
可以使用add()
方法将元素添加到集合中。附加到新添加的元素不需要指定索引。
Days=set(["Mon","Tue","Wed","Thu","Fri","Sat"])
Days.add("Sun")
print(Days)
当上面的代码执行时,它会产生以下结果 -
{'Wed', 'Sat', 'Thu', 'Mon', 'Sun', 'Tue', 'Fri'}
从集合中删除项目
可以使用discard()
方法从集合中删除元素。参考以下代码实现 -
Days=set(["Mon","Tue","Wed","Thu","Fri","Sat"])
Days.discard("Sun")
print(Days)
执行上面示例代码,得到以下结果 -
{'Tue', 'Fri', 'Wed', 'Sat', 'Thu', 'Mon'}
集合的联合操作
两个集合上的联合操作产生一个包含来自两个集合的所有不同元素的新集合。 在下面的例子中,元素"Wed"
出现在两个集合中。
DaysA = set(["Mon","Tue","Wed"])
DaysB = set(["Wed","Thu","Fri","Sat","Sun"])
AllDays = DaysA|DaysB
print(AllDays)
执行上面示例代码,得到以下结果 -
{'Mon', 'Sun', 'Thu', 'Tue', 'Wed', 'Fri', 'Sat'}
集合的交集
两个集合上的交集操作产生一个新的集合,其中只包含来自两个集合的共同元素。 在下面的例子中,元素"Wed"
出现在两个集合中。
DaysA = set(["Mon","Tue","Wed"])
DaysB = set(["Wed","Thu","Fri","Sat","Sun"])
AllDays = DaysA & DaysB
print(AllDays)
执行上面示例代码,得到以下结果 -
{'Wed'}
集合的差集
对两组进行差异化操作会产生一个新的集合,其中只包含来自第一集合的元素,而不包含第二集合中的元素。 在下面的例子中,元素Wed
出现在两个集合中,所以它不会在结果集中找到。
DaysA = set(["Mon","Tue","Wed"])
DaysB = set(["Wed","Thu","Fri","Sat","Sun"])
AllDays = DaysA - DaysB
print(AllDays)
执行上面示例代码,得到以下结果 -
{'Mon', 'Tue'}
比较集合
可以检查一个给定的集合是否是另一个集合的子集或超集。 结果是True
或False
,取决于组中存在的元素。
DaysA = set(["Mon","Tue","Wed"])
DaysB = set(["Mon","Tue","Wed","Thu","Fri","Sat","Sun"])
SubsetRes = DaysA <= DaysB
SupersetRes = DaysB >= DaysA
print(SubsetRes)
print(SupersetRes)
执行上面示例代码,得到以下结果 -
True
True
标签:
相关文章
最新发布
- 光流法结合深度学习神经网络的原理及应用(完整代码都有Python opencv)
- Python 图像处理进阶:特征提取与图像分类
- 大数据可视化分析-基于python的电影数据分析及可视化系统_9532dr50
- 【Python】入门(运算、输出、数据类型)
- 【Python】第一弹---解锁编程新世界:深入理解计算机基础与Python入门指南
- 华为OD机试E卷 --第k个排列 --24年OD统一考试(Java & JS & Python & C & C++)
- Python已安装包在import时报错未找到的解决方法
- 【Python】自动化神器PyAutoGUI —告别手动操作,一键模拟鼠标键盘,玩转微信及各种软件自动化
- Pycharm连接SQL Sever(详细教程)
- Python编程练习题及解析(49题)
点击排行
- 版本匹配指南:Numpy版本和Python版本的对应关系
- 版本匹配指南:PyTorch版本、torchvision 版本和Python版本的对应关系
- Python 可视化 web 神器:streamlit、Gradio、dash、nicegui;低代码 Python Web 框架:PyWebIO
- 相关性分析——Pearson相关系数+热力图(附data和Python完整代码)
- Anaconda版本和Python版本对应关系(持续更新...)
- Python与PyTorch的版本对应
- Windows上安装 Python 环境并配置环境变量 (超详细教程)
- Python pyinstaller打包exe最完整教程