更新時(shí)間:2021-08-10 來(lái)源:黑馬程序員 瀏覽量:
數(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所示。
圖1 集合間關(guān)系的操作
除此之外,Python還提供了4個(gè)增強(qiáng)操作符:|=、-=、&=、^=,它們與前面4個(gè)操作符的區(qū)別是,前者是生成了一個(gè)新的集合,而后者是更新了位于操作符左側(cè)的集合。接下來(lái),通過(guò)一張表羅列集合S和T之間關(guān)系的常見操作,具體如表1所示。
表1 集合間的常見操作
常見操作 | 說(shuō)明 |
---|---|
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í)屬于兩者的元素 |
猜你喜歡:
怎樣使用CLI調(diào)動(dòng)Hive功能?【CLI的使用】