python:集合&函数——上
一、集合
1、集合的简介
- 集合表现形式为set 集合和列表非常相似
- 不同点
- 集合只能存储不可变对象
- 集合中存储的对象是无序的
- 集合不能出现重复元素
- 使用{}来创建集合
- 可以通过set()来将序列和字典转换成集合
总结一下:
集合的最大特点是:集合里边的元素是不可重复的并且集合内的元素还是无序的。
集合与字典的创建都是用花括号——{},但是集合是没有key与value键值对的。
一般情况下集合常用的两个场景是:
- 去重(如:列表去重);
- 关系测试(如:取交集、取并集、取差集等)
- 代码展示讲解
# 使用{}来创建集合
set1 = {2, 'ab'}
print(set1)
# 运行结果 》》》{2, 'ab'}
# 创建空集合, 需要用到set()
s = {}
print(type(s))
# 运行结果 》》》<class 'dict'>
s = set()
print(type(s))
# 运行结果 》》》<class 'set'>
# 集合只能存储不可变对象
set1 = {2, 'ab', [1, 2, 3]}
print(set1, type(set1))
# 上述代码一运行就会报错,因为集合只能存储不可变对象,列表是可变对象
# 集合中存储的对象是无序的
set2 = {6, 8, 9}
print(set2)
# 运行结果 》》》{8, 9, 6}
# 集合不能出现重复元素 通过这一特性,我们可以来做一个数据去重的效果
set3 = {1, 2, 3, 4, 1, 2, 3, 4}
print(set3)
# 运行结果 》》》{1, 2, 3, 4}
list1 = [1, 1, 2, 3, 3] # 列表通过set()转换成集合去重
s4 = set(list1)
print(s4)
# 运行结果 》》》{1, 2, 3}
2、集合的使用
集合的一些方法与列表都是通用的,但是还是要看一下的哦,方法,虽然差不多,但是练习一下总没坏处哦。
集合的方法 | 说明 |
---|---|
len() | 使用len()来获取集合中元素的数量 |
add() | 像集合中添加元素 |
update() | 将一个集合中的元素添加到另一个集合当中 |
pop() | 随机删除集合中的一个元素一般是删除开始一个元素 |
remove() | 删除集合中指定的元素 |
clear() | 清空集合 |
- len() 使用len()来获取集合中元素的数量
set1 = {2, 'ab'}
print(len(set1))
# 运行结果 》》》2
- add()像集合中添加元素
s = set()
s.add(1)
s.add('a')
print(s)
# 运行结果 》》》{1, 'a'}
- update()将一个集合中的元素添加到另一个集合当中
s1 = {1, 2, 3}
s2 = {'a', 'b', 'c'}
s1.update(s2)
print(s1)
# 运行结果 》》》{'c', 1, 2, 3, 'a', 'b'}
- pop()随机删除集合中的一个元素一般是删除开始一个元素
s1 = {'c', 1, 2, 3, 'a', 'b'}
s1.pop()
print(s1)
# 运行结果 》》》{2, 3, 1, 'a', 'b'}
s1.pop()
print(s1)
# 运行结果 》》》{3, 1, 'a', 'b'}
- remove() 删除集合中指定的元素
s1 = {1, 2, 3, 'a', 'b','c'}
s1.remove('a')
print(s1)
# 运行结果 》》》{1, 2, 3, 'c', 'b'}
- clear() 清空集合
s1 = { 1, 2, 3, 'a', 'b','c'}
s1.clear()
print(s1)
# 运行结果 》》》set()
3、集合的运算
运算 | 说明 |
---|---|
& | 交集运算,结果为一样的部分 |
| | 并集运算,将2个集合 合并成一个集合 |
- | 差集运算,结果为第一个集合与第二个集合不一样的元素 |
^ | 亦或集,将2个集合不一样的地方合并成一个集合 |
<= | 检查一个集合是否是另一个集合的子集 |
< | 检查一个集合是否是另一个集合的真子集 |
>= | 检查一个集合是否是另一个集合的超集 |
> | 检查一个集合是否是另一个集合的真超集 |
- 代码演示
s1 = {1, 2, 3, 7, 8}
s2 = {4, 5, 6, 7, 8}
# 交集运算(&)
s3 = s1 & s2
print(s3)
# 运行结果 》》》{8, 7}
# | 并集运算
s4 = s1 | s2
print(s4)
# 运行结果 》》》{1, 2, 3, 4, 5, 6, 7, 8}
# - 差集运算
s5 = s1 - s2
print(s5)
# 运行结果 》》》{1, 2, 3}
# ^ 亦或集
s6 = s1 ^ s2
print(s6)
# 运行结果 》》》{1, 2, 3, 4, 5, 6}
让我们先了解一下子集,真子集和超集,真超集的基本概念
<