1. 创建集合
集合用于存放一组无序的元素, 跟字典一样无法通过索引查找元素, 同样用大括号'{}', 集合相当于字典中的 key 的集合, 元素不能重复, 即天生去重, 是不可修改类型, 即无法修改元素; 可直接赋值生成
- se1 = {1,2,3,4,5}
- print(se1)
- print(type(se1))
结果:
- {1, 2, 3, 4, 5}
- <class 'set'>
可以 set() 方法将列表转换成集合.
- lis = [1,2,3,4,5]
- se1 = set(lis)
- print(se1)
结果:
{1, 2, 3, 4, 5}
2. 增
1)se1.add() 添加集合元素, 一次只能添加一个.
- se1 = {1,2,3,4,5}
- se1.add(6)
- print(se1)
结果:
{1, 2, 3, 4, 5, 6}
2)se1.update([]) 添加集合元素, 中括号内可以添加多个元素, 即批量添加.
- se1 = {1,2,3,4,5}
- se1.update([6,7,8])
- print(se1)
结果:
{1, 2, 3, 4, 5, 6, 7, 8}
3. 删
se1.remove() 删除元素
- se1 = {1,2,3,4,5}
- se1.remove(1)
- print(se1)
结果:
{2, 3, 4, 5}
4.union() 并集 (|)
将两个集合合并, 去除重复元素, 组成一个新的集合, 两个原集合不会发生变化.
- se1 = {1,2,3,4}
- se2 = {3,4,5,6}
- se = se1 | se2
- print(se)
- print(se1)
- print(se2)
结果:
- {1, 2, 3, 4, 5, 6}
- {1, 2, 3, 4}
- {3, 4, 5, 6}
***** 分割线 *****
- se1 = {1,2,3,4}
- se2 = {3,4,5,6}
- se = se1.union(se2)
- print(se)
结果:
- {
- 1, 2, 3, 4, 5, 6
- }
- View Code
5.intersection() 交集 (&)
取两个集合的交集, 即共同共有的元素, 组成一个新的集合, 两个原集合不变.
- se1 = {1,2,3,4}
- se2 = {3,4,5,6}
- se = se1 & se2
- print(se)
- print(se1)
- print(se2)
结果:
- {3, 4}
- {1, 2, 3, 4}
- {3, 4, 5, 6}
***** 分割线 *****
- se1 = {1,2,3,4}
- se2 = {3,4,5,6}
- se = se1.intersection(se2)
- print(se)
结果:
- {
- 3, 4
- }
- View Code
6.difference() 差集 (-)
如取 a,b 两集合的差集 a.difference(b), 组成一个新集合 c, 且 c 集合中只有集合 a 中独有的元素.
- se1 = {1,2,3,4}
- se2 = {3,4,5,6}
- se = se1 - se2
- print(se)
结果:
{1, 2}
***** 分割线 *****
- se1 = {1,2,3,4}
- se2 = {3,4,5,6}
- se = se1.difference(se2)
- print(se)
结果:
- {
- 1, 2
- }
- View Code
7.symmetric_difference() 对称差集 (^)
如取 a,b 两集合的堆成差集 a.symmetric_difference(b), 组成一个新集合 c, 且 c 集合中是集合 a 和集合 b 中各自的独有元素, 即堆成差集与交集相反.
- se1 = {1,2,3,4}
- se2 = {3,4,5,6}
- se = se1 ^ se2
- print(se)
结果:
{1, 2, 5, 6}
***** 分割线 *****
- se1 = {1,2,3,4}
- se2 = {3,4,5,6}
- se = se1.symmetric_difference(se2)
- print(se)
结果:
- {
- 1, 2, 5, 6
- }
- View Code
来源: http://www.bubuko.com/infodetail-3329572.html