python-集合(set)知识整理
程序员文章站
2022-05-18 22:44:11
#!/usr/bin/env python# -*- coding:utf-8 -*-# __author__:anxu.qi# Date:2018/11/30################################ 集合 ################################## ......
#!/usr/bin/env python
# -*- coding:utf-8 -*-
# __author__:anxu.qi
# date:2018/11/30
################################ 集合 ########################################
# 集合是一个无序的,不重复的数据组合,它的主要作用如下:
# 1、去重,把一个列表变成集合,就自动去重了
# 2、关系测试,测试两组数据之前的交集、差集、并集等关系
list01 = [1,4,5,6,7,8,4,5,6]
print(list01,type(list01))
# [1, 4, 5, 6, 7, 8, 4, 5, 6] <class 'list'>
list01 = set(list01)
print(list01,type(list01))
# {1, 4, 5, 6, 7, 8} <class 'set'>
# ################### 交集 (intersection)#########################
list02 = set([2,6,0,22,8,4])
print(list01,list02)
# {1, 4, 5, 6, 7, 8} {0, 2, 4, 6, 8, 22}
# # 交集 intersection
print(list01.intersection(list02))
# ################### 并集 (union)#########################
# # 并集 union 并起来去重
print(list01.union(list02))
# {0, 1, 2, 4, 5, 6, 7, 8, 22}
# ################### 交集 (difference)#########################
# # 差集 difference list01中有的,list02中没有的
print(list01.difference(list02))
# {1, 5, 7}
print(list02.difference(list01))
# {0, 2, 22}
# ################### 子集 (issubset) #########################
print(list01.issubset(list02))
# false
# ################### 父集 (issuperset) #########################
print(list01.issuperset(list02))
# false
# ################### 反向差集|对称差集 (symmetric_difference) #########################
# list01和list02里面,互相都没有的,取出来放到一块
print(list01.symmetric_difference(list02))