【人生苦短,我学 Python】基础篇——集合(Day11)
写在前面:大家好!我是【AI 菌】,一枚爱弹吉他的程序员。我
热爱AI、热爱分享、热爱开源
! 这博客是我对学习的一点总结与记录。如果您也对深度学习、机器视觉、算法、Python、C++
感兴趣,可以关注我的动态,我们一起学习,一起进步~
我的博客地址为:【AI 菌】的博客
我的Github项目地址是:【AI 菌】的Github
一、集合
(1) 集合介绍
集合(set)是一个无序的不重复元素序列,这和数学中的集合概念类似。在Python中,可以使用大括号 { } 或者 set() 函数创建集合。
需要注意的是:创建一个空集合必须用 set() 而不是 { }, 因为 { } 是用来创建一个空字典。
(2) 创建集合
1、由于{ } 是用来创建一个空字典。所以创建一个空集合,只能通过set()来创建,演示如下:
a = set()
- 1
2、创建一个普通集合,直接用大括号{}来创建,演示如下:
a = {1, 2, 3, 4, 5}
print(a)
- 1
- 2
输出结果:
{1, 2, 3, 4, 5}
- 1
除此之外,也可以通过set()来创建:
b = set("abc121")
print(b)
- 1
- 2
输出结果:
{'b', '1', '2', 'c', 'a'}
- 1
输出的元素顺序和创建时的顺序不同。可见,集合里的元素是无须的,并且是不可重复的。
(3) 集合运算
下面来演示两个集合间的不同运算:.
a = set("ac123")
b = set("abc121")
print(a)
print(b)
print("集合a中包含而集合b中不包含的元素:", a - b)
print("集合a或b中包含的所有元素:", a | b)
print("集合a和b中都包含了的元素:", a & b)
print("不同时包含于a和b的元素", a ^ b)
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
输出结果如下:
{'1', 'a', 'c', '3', '2'}
{'1', 'a', 'c', 'b', '2'}
集合a中包含而集合b中不包含的元素: {'3'}
集合a或b中包含的所有元素: {'1', 'a', 'c', '3', 'b', '2'}
集合a和b中都包含了的元素: {'c', '1', 'a', '2'}
不同时包含于a和b的元素 {'3', 'b'}
- 1
- 2
- 3
- 4
- 5
- 6
二、集合的基本操作
(1) 添加元素
向已有集合中添加新的元素,有以下两种方式:
1、使用 set.add(x) 向集合中添加新个元素x,演示如下:
a = {1, 2, 3}
a.add(6)
print(a)
- 1
- 2
- 3
输出结果:
{1, 2, 3, 6}
- 1
注:如果元素已存在,则不进行任何操作。
2、使用方法set.update(x)也可以添加元素,且参数可以是列表,元组,字典等,演示如下:
a = {"a", "b", "c"}
a.update({"d", "e"})
print(a)
- 1
- 2
- 3
输出结果:
{'b', 'c', 'd', 'e', 'a'}
- 1
除此之外,添加的元素也可以是列表、元组等:
a = {"a", "b", "c"}
a.update((1, 2), (3, 4))
print(a)
- 1
- 2
- 3
输出结果:
{1, 'b', 2, 3, 4, 'c', 'a'}
- 1
(2) 删除元素
删除集合中的元素,有以下三种方式:
1、使用方法set.remove(x)将集合中元素x删除,演示如下:
a = {"a", "b", "c"}
a.remove("b")
print(a)
- 1
- 2
- 3
输出结果:
{'c', 'a'}
- 1
注:如果删除的元素不存在,则会发生报错。
2、使用set.discard()也可删除集合中的元素,且如果元素不存在,不会发生错误。演示如下:
a = {"a", "b", "c"}
a.discard("b")
print(a)
- 1
- 2
- 3
输出结果:
{'a', 'c'}
- 1
3、也可以通过set.pop()随机删除集合中的一个元素,演示如下:
a = {"a", "b", "c"}
a.pop()
print(a)
- 1
- 2
- 3
输出结果:
{'a', 'b'}
- 1
注:由于是随机删除,所以每次输出的结果可能不一样
(3) 判断元素是否在集合中
使用语法:x in set
,可以判断元素 x 是否在集合 set 中,存在返回 True,不存在则返回 False。演示如下:
set1 = {"a", "b", "c"}
if "b" in set1: print("b存在集合中")
else: print("b不存在集合中")
- 1
- 2
- 3
- 4
- 5
输出结果:
b存在集合中
- 1
三、集合内置函数
在Python集合中,提供了一些内置的函数和方法,极大地方便了开发者处理集合相关的数据,下面总结了一些常用的集合内置函数,如下表所示:
函数 | 功能描述 |
---|---|
set.add(x) | 为集合添加元素 |
set.update(x) | 为集合添加元素(列表、元组、字典) |
set.remove(x) | 删除集合中的元素x |
set.discard(x) | 删除集合中的元素x |
set.pop() | 随机删除集合中的一个元素 |
set.clear() | 清空集合,使之成为一个空集合 |
set.copy() | 拷贝一个集合 |
set.intersection(set1, set2 … etc) | 返回两个或更多集合中都包含的元素,即交集 |
set.union(set1, set2…) | 返回两个集合的并集,即包含了所有集合的元素 |
set1.difference(set2) | 计算集合set1与集合set2的差集 |
由于水平有限,博客中难免会有一些错误,有纰漏之处恳请各位大佬不吝赐教!
文章来源: ai-wx.blog.csdn.net,作者:AI 菌,版权归原作者所有,如需转载,请联系作者。
原文链接:ai-wx.blog.csdn.net/article/details/113747317
- 点赞
- 收藏
- 关注作者
评论(0)