文章目录
码字不易,希望大家点赞支持一下
1. 集合的性质
注意事项:
- 1.创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。
- 2.集合(set)是一个无序的不重复元素序列。
- 3.可以使用大括号 { } 创建集合,元素之间用逗号 , 分隔, 或者也可以使用 set() 函数创建集合。
1.1 集合的去重功能
这里体现了集合是一个不重复的元素序列,比如在力扣349. 两个数组的交集这道题中:
题目要求 输出结果中的每个元素一定是唯一的,
我们就可以用集合来存储最终的结果,这样就避免了答案里重复元素的出现。
nums1 = [1, 2, 2, 3, 3, 3, 4, 4, 4, 4]
print(set(nums1))
输出结果:
{1, 2, 3, 4}
1.2 快速判断元素是否在集合中
ls = {'a', 'b', 'c', 'd'}
print('a' in ls)
输出:
True
1.3 集合的无序性
执行下面代码,会发现输出结果中不但去重复了,而且元素无序
a = set('abracadabra')
print(a)
输出:
{'r', 'c', 'b', 'a', 'd'}
再执行一次代码输出结果:
{'c', 'r', 'b', 'a', 'd'}
顺序又不同了,这就是集合的无序性
1.4 两个集合的运算
大家可以找几个例子自己试一下,这里就不演示了
a - b ========== 集合a中包含而集合b中不包含的元素
a | b ========== 集合a或b中包含的所有元素
a & b ========== 集合a和b中都包含了的元素
a ^ b ========== 不同时包含于a和b的元素
2. 集合的基本操作
2.1 添加元素
- 语法:s.add(x)
a = set(('a','b','c','d'))
a.add('f')
print(a)
输出:
{'c', 'd', 'a', 'b', 'f'}
2.2 移除元素
- 语法:s.remove(x)
- 注意:如果集合中本身元素就不存在,则会发生错误
a = set(('a','b','c','d'))
a.remove('f')
print(a)
输出:
Traceback (most recent call last):
File "E:\Master\SKILL\python_ 蓝桥杯\test.py", line 2, in <module>
a.remove('f')
KeyError: 'f'
- 语法:s.discard( x )
- 也是移除集合中的元素,且如果元素不存在,不会发生错误
a = set(('a','b','c','d'))
a.discard('f')
print(a)
输出:
{'d', 'c', 'a', 'b'}
2.3 清空集合
- 语法: s.clear()
a = set(('a','b','c','d'))
a.clear()
print(a)
输出:
set()
小结:
我觉得平时刷题的话主要是注意一下集合的特性:无序性和不重复性,
还有这些基本操作基本就够用了,如果后面我遇到了相关的知识点我回来更新一下,
最后附上一个内置函数库汇总(此表来自菜鸟教程)