Python集合操作全攻略(Set),你值得拥有!

目录

1. 创建集合

1.1 创建空集合

1.2 set() 函数创建集合

1.3 迭代创建集合

2. 集合的查询

2.1 打印集合

2.2 遍历集合元素

2.3 检查元素是否存在

3. 集合的更新操作

3.1 添加元素

3.2 移除元素

3.3 清空集合

3.4 更新集合

4.集合的运算操作

4.1 并集(Union)

4.2 交集(Intersection)

4.3 差集(Difference)

4. 对称差集(Symmetric Difference)

5.集合的常用函数总结

结语


Python中的六大数据类型(数字、字符串、列表、元组、字典和集合),我们已经讲清楚了前5个,现在我们开始讲解Python中最后一个经典的数据类型---集合(Set)数据类型。

集合(Set),它是一个无序不重复的数据集合。也就是说,集合中的元素是唯一的。集合中的元素可以是任何类型,包括数字、字符串、列表、字典等。集合具有快速查找和删除元素的特性,并且可以进行交集、并集、差集等常见的集合操作。

1. 创建集合

集合同样使用大括号 {},但是集合必须使用 set() 函数来创建一个集合。集合中的元素不能重复,如果重复添加相同的元素,只会保留一个。创建集合有以下几种方法:

1.1 创建空集合

使用set()函数创建空集合:

set1 = set()

1.2 set() 函数创建集合

使用 set() 函数创建集合:

# 使用大括号创建集合
Set2 = {1, 'banana', 'cherry'}
print(Set2)  # 输出: {'banana', 'cherry', 'apple'}

# 使用 set() 函数创建集合
colors = set(['red', 'green', 'blue'])
print(colors)  # 输出: {'blue', 'green', 'red'}

1.3 迭代创建集合

使用其他可迭代对象创建集合:

# 使用其他迭代创建集合,使用了字符串
set3 = set("Hello World")

print(set3) #输出:{'H', 'r', 'd', ' ', 'e', 'o', 'l', 'W'}

2. 集合的查询

集合(set)是无序的数据结构,因此不能通过下标直接访问集合中的元素,因为集合中的元素没有固定的顺序。那么,访问集合中的元素,有以下几种方法。

2.1 打印集合

可以直接使用 print 函数来打印整个集合的内容。

my_set = {1, 2, 3, 4, 5}
print(my_set) #输出:{1, 2, 3, 4, 5}  

2.2 遍历集合元素

使用 for 循环可以遍历集合中的每个元素。

my_set = {1, 2, 3, 4, 5}
for element in my_set:
    print(element)      # 输出:1, 2, 3, 4, 5 

2.3 检查元素是否存在

使用 in 关键字检查集合中是否存在特定元素。

my_set = {1, 2, 3, 4, 5}
if 3 in my_set:
    print("3 存在于集合中")
else:
    print("3 不存在于集合中")        # 输出:3 存在于集合中 

3. 集合的更新操作

在集合中,没有像列表那样的下标直接访问元素的方法。前面访问的集合元素的时候说过,集合是无序的,元素存储没有特定的顺序,因此无法像列表或元组那样使用索引来访问或查看元素。关于集合的更新操作,可以通过多种方法来修改集合的内容,包括添加、移除和更新元素等。以下是一些常见的集合更新操作:

3.1 添加元素

使用 add() 方法向集合中添加一个元素,使用update()添加多个元素。

my_set = {1, 2, 3}

# 添加单个元素
my_set.add(4)
print(my_set)

# 添加多个元素
my_set.update([5, 6, 7])
print(my_set)  

# 输出:
# {1, 2, 3, 4}
# {1, 2, 3, 4, 5, 6, 7} 

3.2 移除元素

可以使用 remove() 或 discard() 方法来移除集合中的元素。

my_set = {1, 2, 3, 4, 5}

# 移除指定元素
my_set.remove(3)
print(my_set)       # 输出:{1, 2, 4, 5}

# 使用discard移除元素
my_set.discard(2)
print(my_set)       # 输出:{1, 4, 5}

# 尝试移除不存在的元素
my_set.discard(10)  # 不会报错
print(my_set)       # 输出:{1, 4, 5}

# 使用remove移除不存在的元素
# my_set.remove(10)  # 会报错:KeyError 

3.3 清空集合

使用 clear() 方法可以清空集合中的所有元素。

my_set = {1, 2, 3, 4, 5}
my_set.clear()
print(my_set)  # 输出:set()

3.4 更新集合

可以使用 update() 方法将一个集合的元素添加到另一个集合中。

set1 = {1, 2, 3}
set2 = {3, 4, 5}

# 将 set2 的元素添加到 set1 中
set1.update(set2)
print(set1)  # 输出:{1, 2, 3, 4, 5} 

4. 集合的运算操作

集合提供了多种运算操作,常见的有并集、交集、差集等。这些操作可以通过运算符或集合对象的方法来实现。下面我们来讲一些常见的集合运算操作:

假设有两个集合:

set1 = {1, 2, 3, 4, 5}
set2 = {3, 4, 5, 6, 7} 

4.1 并集(Union)

并集操作使用 | 运算符或 union() 方法。返回包含两个集合中所有唯一元素的集合。

# 使用运算符 |
union_set = set1 | set2
print(union_set)  # 输出:{1, 2, 3, 4, 5, 6, 7}

# 使用方法 union()
union_set = set1.union(set2)
print(union_set)  # 输出:{1, 2, 3, 4, 5, 6, 7}

4.2 交集(Intersection)

交集操作使用 & 运算符或 intersection() 方法,返回两个集合中共同存在的元素组成的集合。

# 使用运算符 &
intersection_set = set1 & set2
print(intersection_set)  # 输出:{3, 4, 5}

# 使用方法 intersection()
intersection_set = set1.intersection(set2)
print(intersection_set)  # 输出:{3, 4, 5}

4.3 差集(Difference)

差集操作使用 - 运算符或 difference() 方法。返回在第一个集合中但不在第二个集合中的元素组成的集合。

# 使用运算符 -
difference_set = set1 - set2
print(difference_set)  # 输出:{1, 2}

# 使用方法 difference()
difference_set = set1.difference(set2)
print(difference_set)  # 输出:{1, 2} 

4.4 对称差集(Symmetric Difference)

对称差集操作,使用 ^ 运算符或 symmetric_difference() 方法。返回两个集合中不重复的元素组成的集合,即属于其中一个集合但不属于交集的元素。

# 使用运算符 ^
symmetric_difference_set = set1 ^ set2
print(symmetric_difference_set)  # 输出:{1, 2, 6, 7}

# 使用方法 symmetric_difference()
symmetric_difference_set = set1.symmetric_difference(set2)
print(symmetric_difference_set)  # 输出:{1, 2, 6, 7} 

5. 集合的常用函数总结

前面我们讲了Python集合的使用操作用法,下面总结一些常用的 Python 集合方法,如下表所示:

方法描述
add(element)向集合中添加一个元素。如果元素已经存在,则不执行任何操作。
clear()移除集合中的所有元素。
copy()返回集合的一个浅拷贝。
difference(set)返回一个新集合,其中包含当前集合与另一个集合的差集。
difference_update(set)移除当前集合中与另一个集合相同的元素。
discard(element)移除集合中指定的元素,如果元素不存在,则不执行任何操作。
intersection(set)返回一个新集合,其中包含当前集合与另一个集合的交集。
intersection_update(set)保留当前集合中同时也存在于另一个集合中的元素。
isdisjoint(set)判断两个集合是否没有交集,如果没有交集则返回 True,否则返回 False。
issubset(set)判断当前集合是否是另一个集合的子集。
issuperset(set)判断当前集合是否是另一个集合的超集。
pop()随机移除并返回集合中的一个元素。
remove(element)移除集合中指定的元素,如果元素不存在,则会引发 KeyError 异常。
symmetric_difference(set)返回一个新集合,其中包含当前集合与另一个集合的对称差集。
symmetric_difference_update(set)更新当前集合,仅包含当前集合与另一个集合的对称差集。
union(set)返回一个新集合,其中包含当前集合与另一个集合的并集。
update(set)更新当前集合,包含当前集合与另一个集合的并集。

这些方法是集合常见的操作方式。你可以根据具体的需求选择合适的方法来处理集合中的元素。

结语

Python 集合(Set)在实际编程中广泛应用。那么,关于 集合数据类型及其操作的函数讲解和示例代码,基本上讲完了。希望这些技巧能帮助你更好地利用 Python 中的集合!大家可以尝试着跟着代码一起学习,如果后面还有补充的,我将继续为大家分享。

感谢您的关注,至此,Python的六大数据类型详解系列,全部结束!

我们下一篇文章将开始Python结构语法的讲解,继续学习、记录python的下一个知识点。

如果感觉阅读对您还有些作用,可以评论留言,关注我。谢谢您的阅读!

往期学习:

 往期学习:

Python安装教程(版本3.8.10)windows10

Linux系统:安装Conda(miniconda)

Conda快速安装的解决方法(Mamba安装)

VSCode安装教程(版本:1.87.0)Windows10

Python基础语法:从入门到精通的必备指南

Python的基本数据类型

Python数据类型间的转换(隐式、显式)-CSDN博客

Python基础知识:运算符详解-CSDN博客

Python基础知识:数字类型及数学函数详解-CSDN博客

Python字符串操作及方法详解!一篇就搞定!-CSDN博客

Python列表及其操作详解,从此不再迷茫!-CSDN博客

Python元组(Tuple)深度解析!

Python字典的使用技巧(一篇详解)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

TiYong

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值