python基础——集合【交集`&`、并集`|`、差集`-`、方法:`difference`和`difference_update`以及add、remove和union】

本文详细介绍了Python中的集合数据类型,包括集合的特点、定义,以及集合的常见操作如数学运算(交集、并集、差集)、添加元素、移除元素和合并等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

📝前言:
这篇文章介绍一下python中的数据容器之一——集合:
1,集合的特点及定义
2,集合的常见通用方法(&|-differencedifference_updateaddremoveunion

🎬个人简介:大学生一枚,努力学习ing
📋个人专栏:C语言入门基础以及python入门基础
🎀CSDN主页 愚润求学
🌄每日鸡汤:I can do all things


一,集合的特点及定义

1,集合可容纳多个不同数据类型的数据
2,集合是无序的
3,集合的元素不可以重复
4,集合可以修改

注意📢:集合不是序列,因为集合是无序的,所以集合也不能使用下标索引

集合的定义(使用{}创建,元素之间用逗号隔开):
如下👇🏻

# 创建一个集合
set1 = {1,2,3,4,5}

# 创建一个空集合
set2 = {}
# 或者
set3 = set()

# 当然,集合也可以嵌套
# 创建一个嵌套着元组和集合的集合
nested_set = {1, 2, 3, {4, 5, 6}, (7, 8, 9)} 

二,集合的常见操作方法

1,集合支持集合的数学运算

1,交集&,即:两个集合中都共有的元素
2,并集|, 即:两个集合中的所有元素,相同的元素要被删除
3,差集-, 即:集合一有但是集合二没有的元素
(注意📢:上面的三个操作都不是对原集合进行修改,而是返回一个新的集合)

下面是集合定义的示例👇🏻

s1 = {1, 2, 3, 4}
s2 = {4,5,6}

# 集合的交集
s3 = s1 & s2
print(s3) # 输出 {4}

# 集合的并集
s4 = s1 | s2
print(s4) # 输出 {1, 2, 3, 4, 5, 6}

# 集合的差集
s5 = s1 - s2
print(s5) # 输出 {1, 2, 3} 

扩展(另外两种求差集的方式):
1,其中差集还可以用difference(效果和-一样,两个原始集合都不被修改,返回一个新的集合)
语法:

集合1.difference(集合2)

如下👇🏻

s1 = {1,2,3,4}
s2 = {4,5,6}
s3 = s1.difference(s2)
print(s3) # 输出:{1, 2, 3}

2,difference_update:对集合1进行修改的求差集
语法:

集合1.difference_update(集合2)

示例👇🏻

s1 = {1,2,3,4}
s2 = {4,5,6}
s1.difference_update(s2)
print(s1) # 输出:{1, 2, 3}

2,添加元素和移除元素

1,添加元素add)和移除元素remove)【都是直接对原始集合进行修改
🔍语法:

# 添加元素:
集合.add(元素)

# 移除元素:
集合.remove(元素)

示例👇🏻

s1 = {1, 2, 3, 4, 5}
# 添加元素:
s1.add(6)
print(s1) # 结果:{1, 2, 3, 4, 5, 6}

# 移除元素:
s1.remove(1)
print(s1) # 结果:{2, 3, 4, 5, 6}

2,随机移除元素(pop
pop的功能是:随机移除一个元素,并且返回这个元素,这个方法也是对原集合进行修改
(我们在学习列表的时候pop是移除指定的下标的元素,但是,因为集合是无序的,所以pop在集合中就变成了随机移除
🔍语法:

集合.pop() 

示例👇🏻

s1 = {2, 3, 8, 4, 5}
element = s1.pop()
print(s1) # 结果:{3, 4, 5, 8} 集合是无序的,顺序可能会随机变换
print(element) # 结果:2

3,清空集合(clear),老朋友不介绍了
示例👇🏻

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

3,两个集合的合并

union将两个结合合并
(注意📢:原集合不会被修改,返回一个合并好以后的新集合
🔍语法:

集合1.union(集合2)

示例👇🏻

s1 = {1,2,3,4}
s2 = {4,5,6}
s3 = s1.union(s2)
print(s3) # 输出:{1, 2, 3, 4, 5, 6}

三,总结

因为集合是可修改的,所以大多数对单个集合的操作都是直接修改原始集合,但是大多数两个集合间的操作都是创建一个新的集合。
下面对刚刚提到的方法做个总结,以便日后查看👇🏻
在这里插入图片描述


🌈我的分享也就到此结束啦🌈
要是我的分享也能对你的学习起到帮助,那简直是太酷啦!
若有不足,还请大家多多指正,我们一起学习交流!
📢公主,王子:点赞👍→收藏⭐→关注🔍
感谢大家的观看和支持!祝大家都能得偿所愿,天天开心!!!

最近入住了腾讯云开发者社区,不但有代金券,还有很多好看的周边赠送
如果有想要加入的铁子赶紧点击链接加入链接一起加入吧

评论 34
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

愚润泽

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

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

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

打赏作者

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

抵扣说明:

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

余额充值