Python3基础-集合操作
Q:什么是集合
-----【set】集合是一个无序列表
- 去重,把一个列表变成集合,就自动去重了
- 关系测试,测试两组数据之前的交集、差集、并集等关系
Tips:定义一个set
>>>set([1,2,3,4,4,5])
{1, 2, 3, 4, 5}# 去重复
去重复
>>>set("Hello world")
{'d', 'H', 'w', ' ', 'o', 'l', 'r', 'e'}
交集处理
- 第一种方法:set_1.intersection( set_2 )
- 第二种方法:& set_1&set_2
>>>list=set([1,2,3,4,4,5]) >>>list_2=set([2,6,0,4,22,8]) >>>list.intersection(list_2)#intersection交集
{2, 4}
>>>list=set([1,2,3,4,4,5])
>>>list_2=set([2,6,0,4,22,8])
>>>list&list_2
{2, 4}
并集处理
- 第一种方法:set_1.union( set_2 )
- 第二种方法:& set_1|set_2
>>>list=set([1,2,3,4,4,5])
>>>list_2=set([2,6,0,4,22,8])
>>>list.union(list_2)
{0, 1, 2, 3, 4, 5, 6, 8, 22}
>>>list=set([1,2,3,4,4,5])
>>>list_2=set([2,6,0,4,22,8])
>>>list|list_2
{0, 1, 2, 3, 4, 5, 6, 8, 22}
差集处理
- 第一种方法:set_1.difference( set_2 )
- 第二种方法:- set_1-set_2
>>>list=set([1,2,3,4,4,5])
>>>list_2=set([2,6,0,4,22,8])
>>>list.difference(list_2)#list里面有,list_2没有的
{1, 3, 5}
>>>list=set([1,2,3,4,4,5])
>>>list_2=set([2,6,0,4,22,8])
>>>list-list_2#list里面有,list_2没有的
{1, 3, 5}
对称差集处理
- 除去相同的元素
- 第一种方法:set_1.symmetric_difference( set_2 )
- 第二种方法:^ set_1^set_2
>>>list=set([1,2,3,4,4,5])
>>>list_2=set([2,6,0,4,22,8])
>>>list.symmetric_difference(list_2)
{0, 1, 3, 5, 6, 8, 22}
>>>list=set([1,2,3,4,4,5])
>>>list_2=set([2,6,0,4,22,8])
>>>list^list_2
{0, 1, 3, 5, 6, 8, 22}
判断处理
- 没有共同元素 isdisjoint( ) 返回真假 True False
- 是否是子集
- 是否是父集
>>>list=set([1,2,3,4,4,5]) >>>list_2=set([7,6,0,22,8]) >>>list.isdisjoint(list_2) #判断是非有共同的元素 True
>>>list=set([1,2,3]) >>>list_2=set([1,2,3,22,8]) >>>list_2.issubset(list) #list_2不是list的子集 False >>>list.issubset(list_2) # list不是list_2的子集 True >>>list_2.issuperset(list) #list_2不是list的父集 True
其他方法
add()
>>>list=set([1,2,3])
>>>list.add(4)
>>>list
{1, 2, 3, 4}
clear()
>>>list=set([1,2,3]) >>>list.clear() #清空集合 >>>list set()
copy()
>>>list=set([1,2,3])
>>>list_2=list.copy() #copy是一个潜复制
>>>list_2
{1, 2, 3}
update()
>>>list_1=set([1,2,5])
>>>list_2=set([1,2,3,22,8])#合并更新到list_1中
>>>list_1.update(list_2)
>>>list_1
{1, 2, 3, 5, 8, 22}
pop()
>>>list=set([1,2,3])
>>>list.pop() #pop随机删除
1
>>>list
{2, 3}
remove()
>>>list=set([1,2,3])
>>>list.remove(2) # 删除指定的元素
>>>list
{1, 3}

浙公网安备 33010602011771号