python集合的操作

集合的兩大特性:

一、去重

二、關係測試


1、去重效果

>>> l1 = ["張三","李四","王五","張三"]

>>> print(type(l1))                 //查看類型

<class 'list'> 

>>> l1 = set(l1)                  //set把列表變爲集合

>>> print(l1)

{'李四', '張三', '王五'}

>>> print(type(l1))

<class 'set'>


2、取兩個集合的交集

>>> l1 = set([1,2,3,4,5])

>>> l2 = set([1,6,7,8,9])

>>> print(l1.intersection(l2))            //intersection是交集的意思,兩個列表中的交集是"1"

{1}


3、取兩個集合的並集

>>> l1 = set([1,2,3,4,5])

>>> l2 = set([1,6,7,8,9])

>>> print(l1.union(l2))                 //union是求並集的意思,也就是兩個列表合併後去重

{1, 2, 3, 4, 5, 6, 7, 8, 9}


4、取兩個集合的差集

>>> print(l1.difference(l2))             //也就是l1有,l2沒有的元素

{2, 3, 4, 5}


>>> print(l2.difference(l1))            //l2有,l1沒有的元素

{8, 9, 6, 7}


5、判斷子集和父集,也就是判斷是不是包含的關係

>>> l3 = set([2,3,4])

>>> print(l3.issubset(l1))           //l1中的元素包含l3中的元素,所以l3是l1的子集

True

>>> print(l3.issubset(l2))

False

>>> print(l1.issuperset(l3))         //l1是l3的父集

True


6、取出兩個集合的對稱差集,也就是兩個集合中互相都不存在的元素

>>> l1

{1, 2, 3, 4, 5}

>>> l2

{1, 6, 7, 8, 9}

>>> print(l1.symmetric_difference(l2))     //兩個集合中除了元素“1”,都互相不存在

{2, 3, 4, 5, 6, 7, 8, 9}



還可以使用運算符完成以上的操作

1、交集:

>>> print(l1 & l2)

{1}


2、並集

>>> print(l1 | l2)

{1, 2, 3, 4, 5, 6, 7, 8, 9}


3、差集

>>> print(l1 - l2)

{2, 3, 4, 5}


4、對稱差集

>>> print(l1 ^ l2)

{2, 3, 4, 5, 6, 7, 8, 9}


集合的增刪改查

1、添加集合元素

>>> l1.add(666)        //添加單個元素使用add

>>> print(l1)

{1, 2, 3, 4, 5, 666}

>>> l1.update([777,888,999])            //update方法可以同時添加多個元素

>>> print(l1)

{1, 2, 3, 4, 5, 999, 777, 888, 666}


2、刪除集合元素

>>> l1.remove(666)  

>>> print(l1)

{1, 2, 3, 4, 5, 999, 777, 888}


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章