首頁技術(shù)文章正文

Python中怎樣改變集合之間的關(guān)系?

更新時(shí)間:2021-08-10 來源:黑馬程序員 瀏覽量:

IT培訓(xùn)班

數(shù)學(xué)中,兩個(gè)集合關(guān)系的常見操作包括:交集、并集、差集、補(bǔ)集。設(shè)A,B是兩個(gè)集合,集合關(guān)系的操作介紹如下:

交集是指屬于集合A且屬于集合B的元素所組成的集合,

并集是指集合A和集合B的元素合并在一起組成的集合,

差集是指屬于集合A但不屬于集合B的元素所組成的集合,

補(bǔ)集是指屬于集合A和集合B但不同時(shí)屬于兩者的元素所組成的集合。

Python中集合之間支持前面所介紹的四種操作,操作邏輯與數(shù)學(xué)定義完全相同。Python提供了四種操作符以實(shí)現(xiàn)這四項(xiàng)操作,分別是交集(&)、并集(|)、差集(-)、補(bǔ)集(^)。下面以兩個(gè)圓形表示集合A和B,并使用陰影部分顯示四種操作的結(jié)果,如圖1所示。

1628591012339_集合關(guān)系測試.png

圖1 集合間關(guān)系的操作

除此之外,Python還提供了4個(gè)增強(qiáng)操作符:|=、-=、&=、^=,它們與前面4個(gè)操作符的區(qū)別是,前者是生成了一個(gè)新的集合,而后者是更新了位于操作符左側(cè)的集合。接下來,通過一張表羅列集合S和T之間關(guān)系的常見操作,具體如表1所示。

表1 集合間的常見操作 

常見操作說明
S|T S.union(T)返回一個(gè)新集合,該集合包含屬于S和T的所有元素
S-T S.difference(T)返回一個(gè)新集合,該集合包含屬于集合S但不屬于集合T的元素
S&T S.intersection(T)返回一個(gè)新集合,該集合包含同時(shí)屬于集合S和T的元素
S^T S.symmetric_difference(T)返回一個(gè)新集合,該集合包含集合S和T中的元素,但不包含同時(shí)屬于兩者的元素
S|=T S.update(T)更新集合S,該集合包含集合S和T所有的元素
S-=T S.difference_update(T)更新集合S,該集合包含在集合S中但不屬于集合T的元素
S&=T S.intersection_update(T)更新集合S,該集合包含同時(shí)屬于集合S和T的元素
S^=T S.symmetric_difference_update(T)更新集合S,該集合包含集合S和T中的元素,但不包含同時(shí)屬于兩者的元素

 

 

猜你喜歡:

技術(shù)專家教你正確使用Python集合

小白快速掌握CDH安裝與部署

怎樣使用CLI調(diào)動(dòng)Hive功能?【CLI的使用】

Pandas算術(shù)運(yùn)算和數(shù)據(jù)對齊

黑馬程序員python大數(shù)據(jù)開發(fā)培訓(xùn)課程

分享到:
在線咨詢 我要報(bào)名
和我們在線交談!