1 集合
集合是一个无序的,不重复的数据组合,它的主要作用如下:
- 去重:把一个列表变成集合,就自动去重了
- 关系测试:测试两组数据之间的交集、差集、并集等关系
1.1 常用操作:
list_1 = [1, 4, 6, 3, 2, 4, 1, 5]
# 去重
list_1 = set(list_1)
print(list_1, type(list_1))
'''
输出:
{1, 2, 3, 4, 5, 6} <class 'set'>
'''
list_2 = set([2, 6, 0, 66, 22, 8, 4])
# 取list_1和list_2的交集
print(list_1.intersection(list_2))
'''
输出:
{2, 4, 6}
'''
# 求list_1和list_2的并集
print(list_1.union(list_2))
'''
输出:
{0, 1, 2, 3, 4, 5, 6, 66, 8, 22}
'''
# 求差集
print(list_1.difference(list_2))
'''
输出:在list_1中存在,但是不存在list_2中
{1, 3, 5}
'''
print(list_2.difference(list_1))
'''
输出:在list_2中存在,但是不存在list_1中
{0, 8, 66, 22}
'''
# 子集
print(list_1.issubset(list_2)) # 判断是否是list_2的子集
print(list_1.issuperset(list_2)) # 判断是否是list_2的父集
# 对称差集
print(list_1.symmetric_difference(list_2))
'''
输出:两者都没有的元素组成集合
{0, 1, 66, 3, 5, 8, 22}
'''
# 交集方法2
print(list_1 & list_2)
# 并集方法2
print(list_1 | list_2)
# 差集方法2
print(list_1 - list_2)
print(list_2 - list_1)
# 对称差集方法2
print(list_1 ^ list_2)
1.2 其他操作
# 增加
list_1.add('x')
# 增加多项
list_2.update([11,22,33])
# 删除一项
list_1.remove('x')
len(list_1) # list_1的长度
'x' in list_1 # x是否在list_1中
'x' not in list_1 # x是否部署于list_1
list_1.discard() # 指定一个值删除,存在则删除,不存在则不做任何事并返回None