python 学习之路(集合)
2017-12-12 16:25
288 查看
集合本身无序,并且数据不重复,主要作用: 1.去重 列表转换成集合就能去重 2.做两组数据的 交集、差集、并集 (关系测试)
声明集合
# 先声明一个列表 list1 = [1,2,3,4,4,5,3,7,2] # 将列表变成集合 list1 = set(list1) # 打印结果:{1, 2, 3, 4, 5, 7} 可以看出已经去重;1
2
3
4
5
取交集
list1 = [1,2,3,4,4,5,3,7,2] list1 = set(list1) list2 = set([2,33,44,5,66,7,77]) a = list1.intersection(list2) # 交集方法 # a的结果:{2, 5, 7} list1 & list2 # 用符号表示交集1
2
3
4
5
6
7
取并集
list1 = set([1,2,3,4,4,5,3,7,2]) list2 = set([2,33,44,5,66,7,77]) a = list1.union(list2) # 并集方法 # a的结果:{1, 2, 3, 4, 5, 33, 7, 66, 44, 77} list1 | list2 # 用符号表示并集1
2
3
4
5
6
取差集
list1 = set([1,2,3,4,4,5,3,7,2]) list2 = set([2,33,44,5,66,7,77]) a = list1.difference(list2) # 差集方法 # a的结果:{1, 3, 4} list2.difference(list1) # 会得到另外一种结果 list1 - list2 # 用符号表示差集1
2
3
4
5
6
7
子集 父集
list1 = set([1,2,3,4,4,5,3,7,2]) list2 = set([2,4 ,4]) list1.issubset(list2) # 判断list1 是不是 list2的子集 结果:False # list1 <= list2 list1.issuperset(list2) # 判断list1 是不是 list2的父集 结果:True # list1 >= list21
2
3
4
5
6
7
8
对称差集
list1 = set([1,2,3,4,4,5,3,7,2]) list2 = set([2,33,44,5,66,7,77]) a = list1.symmetric_difference(list2) # 对称差集方法 # 说明:就是并集的反集 a的结果:{1, 66, 3, 4, 77, 33, 44} list1 ^ list2 # 用符号表示对称差集1
2
3
4
5
6
判断是否没有交集
list1 = set([1,2,3,4]) list2 = set([5,6,7,8]) list1.isdisjoint(list2) # 没有交集返回True1
2
3
基本操作
添加
list1 = set([1,2,3,4]) list1.add(5) # 添加一项 print(list1) # 结果:{1, 2, 3, 4, 5} list1.update([5,6,7,8]) # 添加多项1
2
3
4
删除
list1 = set([1,2,3,4]) list1.remove(1) print(list1) # 结果:{2, 3, 4} # a.pop() pop 方法是删除并且将此值返回 # a.discard('a') # 如果没有被删除的值将不会报错 remove 会报错1
2
3
4
5
长度
len(list1) # 长度1
判断 a 是否是 b 集合的成员
a in b1
判断 a 是否不是 b 集合的成员
a not in b1
浅复制
list1.copy() # 对集合list1 的一个浅复制
相关文章推荐
- python 学习之路(集合)
- Python学习之路1 有序集合和无需集合
- Python小白学习之路(八)—【变量】【基本数据类型分类】【集合】【集合的功能】
- Python学习之路【第三篇】--集合
- 【我拼搏的2016】python 学习之路
- 转:Python之路,Day6 - 面向对象学习
- python学习11-集合和字典
- python 学习之路(函数与函数式编程)
- Python小白学习之路(四)——第一次练习题
- python爬虫学习之路(2)_ 淘宝淘女郎相册打包下载
- python学习之路-碰到的坑
- 集合set、python给程序传参数的学习、列表生成式
- 【Python学习之路】My Third journey
- python学习笔记集合(七)
- python学习之路(shelve 模块 ---序列化,反序列化)
- python学习笔记——集合
- 学习python之路---python小算法总结(三)
- python学习之路4------列表生成器
- python学习(2)——字符串,列表,元组,集合
- java学习之路-----集合(类集)-------set