欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

python-集合(set)知识整理

程序员文章站 2022-12-22 23:48:14
#!/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))