说说Python集合的那些事儿

简介: 说说Python集合的那些事儿

大家好,我是IT共享者,人称皮皮。今天给大家来捋一捋Python集合。


一、什么是集合?


集合(set)和字典(dict)类似,它是一组 key 的集合,但不存储 value。集合的特性就是:key 不能重复。


二、集合常用操作


1. 创建集合

set 的创建可以使用 {} 也可以使用 set 函数:

s1 = {'a', 'b', 'c', 'a', 'd', 'b'}  # 使用 {}print(s1)(['a', 'c', 'b', 'd'])
s2 = set('helloworld')  # 使用 set(),接收一个字符串print(s2)set(['e', 'd', 'h', 'l', 'o', 'r', 'w'])s3 = set(['.mp3', '.mp4', '.rmvb', '.mkv', '.mp3'])  # 使用 set(),接收一个列表print(s3)set(['.mp3', '.mkv', '.rmvb', '.mp4'])

image.png

2. 遍历集合

s = {'a', 'b', 'c', 'a', 'd', 'b'}for e in s:    print(e)

image.png

3. 添加元素

add() 方法可以将元素添加到 set 中,可以重复添加,但没有效果。

s = {'a', 'b', 'c', 'a', 'd', 'b'}print(s)set(['a', 'c', 'b', 'd'])s.add('e')print(s)set(['a', 'c', 'b', 'e', 'd'])s.add('a')print(s)set(['a', 'c', 'b', 'e', 'd'])s.add(4)print(s)set(['a', 'c', 'b', 4, 'd', 'e'])

image.png

4. 删除元素

remove() 方法可以删除集合中的元素, 但是删除不存在的元素,会抛出 KeyError,可改用 discard()

例子:

s = {'a', 'b', 'c', 'a', 'd', 'b'}print(s)set(['a', 'c', 'b', 'd'])s.remove('a')  # 删除元素 'a'print(s)set(['c', 'b', 'd'])s.remove('e')  # 删除不存在的元素,会抛出 KeyError

image.png

s = {'a', 'b', 'c', 'a', 'd', 'b'}print(s)set(['a', 'c', 'b', 'd'])s.remove('a')  # 删除元素 'a'print(s)set(['c', 'b', 'd'])s.discard('e')  # 删除不存在的元素, 不会抛出 KeyError

image.png


三、交集/并集/差集


Python 中的集合也可以看成是数学意义上的无序和无重复元素的集合,因此,我们可以对两个集合作交集、并集等。

看看例子:

s1 = {1, 2, 3, 4, 5, 6}s2 = {3, 6, 9, 10, 12}s3 = {2, 3, 4}print(s1 & s2 ) # 交集set([3, 6])print(s1 | s2)  # 并集set([1, 2, 3, 4, 5, 6, 9, 10, 12])print(s1 - s2)  # 差集set([1, 2, 4, 5])print(s3.issubset(s1))  # s3 是否是 s1 的子集
print(s3.issubset(s2))  # s3 是否是 s2 的子集
print(s1.issuperset(s3))  # s1 是否是 s3 的超集
print(s1.issuperset(s2))  # s1 是否是 s2 的超集

image.png


四、总结


本文主要介绍了Python的另外一种形式(集合),通过讲解集合中如何去创建集合,遍历集合,解释了两种常见的集合操作,添加元素和删除元素。最后通过一个小项目,介绍了集合之间中的三种关系。希望能够帮助大家更好的学习。

相关文章
|
2月前
|
安全 网络安全 文件存储
思科设备巡检命令Python脚本大集合
【10月更文挑战第18天】
84 1
思科设备巡检命令Python脚本大集合
|
2月前
|
存储 缓存 API
解密 Python 集合的实现原理
解密 Python 集合的实现原理
46 11
|
2月前
|
存储 自然语言处理 数据处理
使用Python计算多个集合的交集详解
使用Python计算多个集合的交集详解
58 1
|
3月前
|
存储 API 索引
Python 的集合是怎么实现的?
Python 的集合是怎么实现的?
51 9
|
3月前
|
存储 索引 Python
Python常用数据结构——集合
Python常用数据结构——集合
58 3
|
3月前
|
存储 数据处理 Python
Python中的Set集合:高效数据处理的利器
Python中的Set集合:高效数据处理的利器
52 0
|
3月前
|
Python
python推导式-列表,元组,字典,集合推导式
这篇文章介绍了Python中的推导式,包括列表推导式、元组推导式、字典推导式和集合推导式,提供了它们的基本格式和示例代码,并解释了推导式如何简化循环和条件判断的代码编写。
|
4月前
|
数据采集 编解码 算法
Github | 推荐一个Python脚本集合项目
Github | 推荐一个Python脚本集合项目
|
4月前
|
索引 Python 容器
为什么Python中会有集合set类型?
为什么Python中会有集合set类型?
|
4月前
|
存储 索引 Python
五:《Python基础语法汇总》— 列表&元组&集合
本篇文章讲解了关于列表;元组和集合这三个基本数据类型的常用方法与函数。及同一性操作符;成员判断符;浅拷贝与深拷贝等多方面的知识点
42 4