# Author: Jason Zhu
# Tool: PyCharm 2017
# Python3.8
关于集合的使用方法
# num = {1,2,3,3,6,2,77,8,2}
# list改为set集合
name1 = ['关羽','马超','关羽','马超','孙权']
print(type(name1),'name1 >>',name1)
name1 = set(name1)
print('name1 >>',name1)
name2= set(['刘备','关羽','曹操','马超'])
print('name2 >>',name2)
# interserction(交集) 返回 name1和name2共有的元素。
print('interserction方法'.center(60,'*'))
print(name1.intersection(name2))
# 也可这么写 name1 & name2
# union(并集)
print('union方法'.center(60,'*'))
print(name1.union(name2))
# 也可这么写 name1 | name2
# difference(差集) 返回 name1在name2中没有的元素。
print('difference方法'.center(60,'*'))
print(name1.difference(name2))
# 也可这么写 name1 - name2
# issubset(子集)
print('issubset方法'.center(60,'*'))
print(name1.issubset(name2))
# 也可这么写 name1 - name2
# issuperset(父集)
print('issuperset方法'.center(60,'*'))
print(name1.issuperset(name2))
# symmetric_difference(对称差集)
print('symmetric_difference方法'.center(60,'*'))
print(name1.symmetric_difference(name2))
# 也可这么写 name1 ^ name2
# 两个集合是否包含相同的元素,如果没有返回 True,否则返回 False。
print('isdisjoint方法'.center(60,'*'))
print(name1.isdisjoint(name2))
执行结果:
<class 'list'> name1 >> ['关羽', '马超', '关羽', '马超', '孙权']
name1 >> {'孙权', '关羽', '马超'}
name2 >> {'马超', '关羽', '曹操', '刘备'}
**********************interserction方法***********************
{'关羽', '马超'}
**************************union方法***************************
{'孙权', '曹操', '关羽', '马超', '刘备'}
************************difference方法************************
{'孙权'}
*************************issubset方法*************************
False
************************issuperset方法************************
False
*******************symmetric_difference方法*******************
{'孙权', '曹操', '刘备'}
************************isdisjoint方法************************
False
来源:oschina
链接:https://my.oschina.net/u/4339343/blog/3227769