初识python: 集合

集合是一个无序的,不重复的数据组合。主要作用如下:
1、去重,把一个列表变成集合,会自动去重;
2、关系测试,测试两组数据之前的交集、差集、并集等关系
#!/user/bin env python
# author:Simple-Sir
# time:20180916
# 集合
'''
集合是一个无序的,不重复的数据组合,主要作用如下:
1、去重,把一个列表变成集合,会自动去重;
2、关系测试,测试两组数据之前的交集、差集、并集等关系
关系运算符:
a = b | c #并集
a = b & c #交集
a = b - c #差集
a = b ^ c #对称差集(a有或b有,且剔除ab都有的。)
'''

list_1 = [1,4,5,7,3,6,7,9]
list_1 = set(list_1)
list_2 = set([2,4,6,8,11,22])

print('打印两个集合:',list_1,list_2)
print('交集:',list_1.intersection(list_2)) #取交集
print('符号交集 &:',list_1 & list_2) #取交集
print('并集:',list_1.union(list_2)) #取并集
print('符号并集 |:',list_1 | list_2) #取并集

print('差集:',list_1.difference(list_2))  # 取差集:list_1中有,list_2没有
print('符号差集 -:',list_1 - list_2) # 取差集:list_1中有,list_2没有
print('差集:',list_2.difference(list_1))  # 取差集:list_2中有,list_1没有
print('符号差集 -:',list_2 - list_1)  # 取差集:list_2中有,list_1没有

print('对称(反向)差集:',list_1.symmetric_difference(list_2)) #对称(反向)差集:剔除交集的数据
print('符号对称(反向)差集 ^:',list_1 ^ list_2)

list_3 = set([1,3,5])
print('判断list_3是否是list_1的子集:',list_3.issubset(list_1)) #判断list_3是否是list_1的子集
print('判断list_1是否是list_3的父集:',list_1.issuperset(list_3)) #判断list_1是否是list_3的父集


list_4 = set([6,7,8])
print('判断list_3和list_4是否有交集:',list_3.isdisjoint(list_4)) #判断list_3和list_4是否有交集

list_1.add(111) #添加一项
print('添加一项:',list_1)
list_1.update([222,333,444]) #添加多项
print('添加多项:',list_1)

list_1.remove(444) #删除一项,若删除项不存在,会报错。
list_1.discard(333) #删除一项,若删除项不存在,不会报错。
print('删除一项:',list_1)
print('随机删除一项,并返回删除值:',list_1.pop()) #随机删除一项,并返回删除值


print('list_1的长度:',len(list_1)) #长度

# 注:列表、元组、字典 都是这样用(in,not in 一样)! a in b # a是否存在b中
print('判断1是否存在list_1中:',1 in list_1) #判断1是否存在list_1中
print('判断0是否不存在list_1中:',0 not in list_1) #判断1是否不存在list_1中
集合常用操作

执行结果:

 


附1:关系运算符
a = b | c #并集
a = b & c #交集
a = b - c #差集
a = b ^ c #对称差集(a有或b有,且剔除ab都有的。)

附2:
列表、元组、字典 判断某个值是否是其元素,都是此用法:(in,not in 一样)!
a in b # a是否存在b中
a not in b # a是否不存在b中

posted on 2018-09-16 21:32  Simple-Sir  阅读(271)  评论(0编辑  收藏  举报

导航