1. 程式人生 > >python集合的操作

python集合的操作

python集合操作 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}


python集合的操作