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}

  

 

 

  

posted @ 2017-08-03 23:29  Ronny_bin  阅读(98)  评论(0)    收藏  举报