目录
一、集合简介
- 集合的表现形式:set
-
集合与列表很相似,区别如下:
。 集合中的元素必须为不可变对象
。 集合中不能出现重复的元素,即若有重复的元素则不会出现
。 集合中的元素是无序的
二、集合的一些操作
2.1 set()
- set() 函数可以用来创建集合
my_set = set({})
print(my_set, type(my_set))
#结果为 set() <class 'set'>
-
set() 函数可以将序列和字典转化为集合
。
注意
:若通过 set() 将字典转化为集合,转化后的集合只包含字典中的键,不会包含值
set1 = set([1, 2, 3])
set2 = set('hello')
set3 = set({'姓名': 'zqc', '性别': '女'})
print(set1, type(set1))
print(set2, type(set2))
print(set3, type(set3))
#结果为
{1, 2, 3} <class 'set'>
{'h', 'o', 'l', 'e'} <class 'set'>
{'性别', '姓名'} <class 'set'>
2.2 通过索引取值
- 因为集合本身是无序的,所以不能直接通过索引取值
- 先将集合转化为列表,转化后的列表可以通过索取值
my_set = set([1, 2, 3])
print(list(my_set)[1])
#结果为 2
3.2 in、not in
- 判断指定元素是否在集合中
- 返回布尔类型
3.3 len()
- len() 用来获取集合长度,即集合中有几个元素
- 返回一个 int 类型
3.4 add()
- add() 用来向集合中添加一个元素
my_set = {11, 22, 33}
my_set.add(44)
print(my_set)
#结果为 {33, 11, 44, 22}
3.5 update()
- update() 用来将一个集合中的元素添加到另一个集合中
my_set = {11, 22, 33}
your_set = {44}
my_set.update(your_set)
print(my_set)
#结果为 {33, 11, 44, 22}
3.6 pop()
- pop() 用来随机删除集合中的一个元素
- pop() 有返回值
my_set = {11, 22, 33}
d = my_set.pop()
print(d)
print(my_set)
#结果为
33
{11, 22}
3.7 remove()
- remove() 用来删除一个指定的元素
my_set = {11, 22, 33}
my_set.remove(22)
print(my_set)
#结果为 {33, 11}
3.8 clear()
- clear() 用来清空集合
my_set = {11, 22, 33}
my_set.clear()
print(my_set)
#结果为 set()
三、集合的运算
3.1 交集 &
- 返回一个集合
my_set = {1, 2, 3, 4, 5}
your_set = {3, 4, 5, 6, 7}
print(my_set & your_set)
#结果为 {3, 4, 5}
3.2 并集 |
- 返回一个集合
my_set = {1, 2, 3, 4, 5}
your_set = {3, 4, 5, 6, 7}
print(my_set | your_set)
#结果为 {1, 2, 3, 4, 5, 6, 7}
3.3 差集 –
- 返回的是一个集合
my_set = {1, 2, 3, 4, 5}
your_set = {3, 4, 5, 6, 7}
print(my_set - your_set)
print(your_set - my_set)
#结果为
{1, 2}
{6, 7}
3.4 异或 ^
- 返回的是一个集合
- 异或为不相交的部分
my_set = {1, 2, 3, 4, 5}
your_set = {3, 4, 5, 6, 7}
print(my_set ^ your_set)
#结果为 {1, 2, 6, 7}
3.5 集合间的关系 ≤、<、≥、>
- 判断一个集合是否是另一个集合的子集:<=
- 判断一个集合是否是另一个集合的真子集:<
- 判断一个集合是否是另一个集合的超集:>=
- 判断一个集合是否是另一个集合的真超集:>
- 返回布尔类型
版权声明:本文为weixin_46392056原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。