欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python集合操作方法詳解

 更新時(shí)間:2020年02月09日 13:18:19   作者:羅阿紅  
這篇文章主要介紹了Python集合操作方法詳解,需要的朋友可以參考下

集合是無序的,天生不重復(fù)的數(shù)據(jù)組合,它的作用如下:

  • 去重,即:把一個(gè)列表變成集合,就去重了
  • 關(guān)系測試,即:測試兩組集合的交集、并集和差集等

一、集合常用方法總結(jié)

二、定義

1、語法

>>> name_1 = [1,2,3,4,7,8,7,10]
#把列表轉(zhuǎn)換為集合
>>> name_1 = set(name_1)
#轉(zhuǎn)換后,去重
>>> print(name_1,type(name_1))
{1, 2, 3, 4, 7, 8, 10} <class 'set'>

 三、關(guān)系測試

1、交集(intersection())

>>> name_1 = [1,2,3,4,7,8,7,10]
>>> name_2 = [1,3,5,8,10]
>>> name_1 = set(name_1)
>>> name_2 = set(name_2)
#輸出結(jié)果
>>> name_1.intersection(name_2)
{8, 1, 10, 3}

2、并集(union())

>>> name_1 = [1,2,3,4,7,8,7,10]
>>> name_2 = [1,3,5,8,10]
>>> name_1 = set(name_1)
>>> name_2 = set(name_2)
#輸出結(jié)果
>>> name_1.union(name_2)
{1, 2, 3, 4, 5, 7, 8, 10}

 3、差集(difference())

>>> name_1 = [1,2,3,4,7,8,7,10]
>>> name_2 = [1,3,5,8,10]
>>> name_1 = set(name_1)
>>> name_2 = set(name_2)
#輸出結(jié)果
>>> name_1.difference(name_2)
{2, 4, 7}

 特別提示:差集取的是數(shù)值在第一個(gè)集合中,但是不在第二個(gè)集合中(在我不在你)

4、issubset()

判斷一個(gè)集合是否是另一個(gè)集合的子集

>>> name_1 = [1,2,3,4,7,8,7,10]
>>> name_3 = [1,2,3,4]
>>> name_1 = set(name_1)
>>> name_3 = set(name_3)
#輸出結(jié)果
>>> name_3.issubset(name_1)
True

 5、issuperset()

判斷一個(gè)集合是否是另一個(gè)集合的父集

>>> name_1 = [1,2,3,4,7,8,7,10]
>>> name_3 = [1,2,3,4]
>>> name_1 = set(name_1)
>>> name_3 = set(name_3)
#輸出結(jié)果
>>> name_1.issuperset(name_3)
True

 6、對稱差集(symmetric_difference())

 把兩個(gè)集合沒有交集的數(shù)值取出來

>>> name_1 = [1,2,3,4,7,8,7,10]
>>> name_2 = [1,3,5,8,10]
>>> name_1 = set(name_1)
>>> name_2 = set(name_2)
#輸出結(jié)果
>>> name_1.symmetric_difference(name_2)
{2, 4, 5, 7}

 7、isdisjoint()

判斷兩個(gè)集合是否有交集,沒有交集,則返回True

>>> name_1 = [1,2,3,4,7,8,7,10]
>>> name_2 = [1,3,5,8,10]
>>> name_3 = [11]
>>> name_1 = set(name_1)
>>> name_2 = set(name_2)
>>> name_3 = set(name_3)
#有交集
>>> name_1.isdisjoint(name_2)
False
#無交集
>>> name_1.isdisjoint(name_3)
True

 四、關(guān)系測試(特殊符號(hào))

1、交集(&)

>>> name_1 = [1,2,3,4,7,8,7,10]
>>> name_2 = [1,3,5,8,10]
>>> name_1 = set(name_1)
>>> name_2 = set(name_2)
#結(jié)果輸出
>>> name_1 & name_2
{8, 1, 10, 3}

2、并集(|)

>>> name_1 = [1,2,3,4,7,8,7,10]
>>> name_2 = [1,3,5,8,10]
>>> name_1 = set(name_1)
>>> name_2 = set(name_2)
#結(jié)果輸出
>>> name_1 | name_2
{1, 2, 3, 4, 5, 7, 8, 10}

 3、差集(-)

>>> name_1 = [1,2,3,4,7,8,7,10]
>>> name_2 = [1,3,5,8,10]
>>> name_1 = set(name_1)
>>> name_2 = set(name_2)
#結(jié)果輸出
>>> name_1 - name_2
{2, 4, 7}

4、對稱差集(^)

>>> name_1 = [1,2,3,4,7,8,7,10]
>>> name_2 = [1,3,5,8,10]
>>> name_1 = set(name_1)
>>> name_2 = set(name_2)
#輸出
>>> name_1 ^ name_2
{2, 4, 5, 7}

5、是否是子集(<=)

>>> name_1 = [1,2,3,4,7,8,10]
>>> name_3 = [1,2,3,4]
>>> name_1 = set(name_1)
>>> name_3 = set(name_3)
#輸出
>>> name_3 <= name_1
True

6、是否是父集(>=)

>>> name_1 = [1,2,3,4,7,8,10]
>>> name_3 = [1,2,3,4]
>>> name_1 = set(name_1)
>>> name_3 = set(name_3)
#輸出
>>> name_1 >= name_3
True

 五、基本操作

1、添加(add())

>>> name_2 = [1,3,5,8,10]
>>> name_2 = set(name_2)
#添加已存在,不報(bào)錯(cuò)
>>> name_2.add(1)
>>> name_2
{8, 1, 10, 3, 5}
#添加不存在,添加一個(gè)新的數(shù)值
>>> name_2.add(11)
>>> name_2
{1, 3, 5, 8, 10, 11}

 2、添加多項(xiàng)(update())

>>> name_2 = [1,3,5,8,10]
>>> name_2 = set(name_2)
>>> name_2.update([12,13,14])
#輸出結(jié)果
>>> name_2
{1, 3, 5, 8, 10, 12, 13, 14}

 3、刪除(remove(),pop(),discard())

①remove()

>>> name_2 = [1,3,5,8,10]
>>> name_2 = set(name_2)
>>> name_2
{8, 1, 10, 3, 5}
>>> name_2.remove(1)
#輸出
>>> name_2
{8, 10, 3, 5}
#刪除不存在的元素,會(huì)報(bào)錯(cuò)
>>> name_2.remove(1)
Traceback (most recent call last):
 File "<input>", line 1, in <module>
KeyError: 1

 特別提示:用remove刪除時(shí),當(dāng)元素不存在,會(huì)報(bào)錯(cuò)

②pop()

>>> name_2 = [1,3,5,8,10]
>>> name_2 = set(name_2)
>>> name_2
{8, 1, 10, 3, 5}
#輸出
>>> name_2.pop()
8

 特別提示:pop是隨機(jī)刪除集合中的某個(gè)元素,并且打印

③discard()

>>> name_2 = [1,3,5,8,10]
>>> name_2 = set(name_2)
>>> name_2.discard(10)
#輸出結(jié)果
>>> name_2
{8, 1, 3, 5}
#刪除不存在元素,不報(bào)錯(cuò)
>>> name_2.discard(10)

特別提示:用discard刪除不存在的元素,不會(huì)出現(xiàn)報(bào)錯(cuò)

4、長度(len())

>>> name_1 = [1,2,3,4,7,8,7,10]
>>> name_1 = set(name_1)
#結(jié)果輸出
>>> len(name_1)
7

 5、x in s

測試 x 是否是 s 的成員

>>> name_1 = [1,2,3,4,7,8,7,10]
>>> name_1 = set(name_1)
#結(jié)果輸出
>>> 1 in name_1
True

 6、x not in s

測試 x 是否不是 s 的成員

>>> name_1 = [1,2,3,4,7,8,7,10]
>>> name_1 = set(name_1)
#輸出
>>> 12 not in name_1
True

更多關(guān)于Python集合操作方法可查看下面的相關(guān)鏈接

相關(guān)文章

最新評論