歡迎你來到站長在線的站長學堂學習Python知識,本文學習的是《Python中集合的交集、并集、差集和對稱差集運算方法詳解》。主要講的是集合運算的相關(guān)的概念,及運算方法,包括:集合的交集、集合的并集、集合的差集、集合的對稱差集、集合的交集運算方法、集合的并集運算方法、集合的差集運算方法、集合的對稱差集運算方法。

創(chuàng)新互聯(lián)公司是一家朝氣蓬勃的網(wǎng)站建設公司。公司專注于為企業(yè)提供信息化建設解決方案。從事網(wǎng)站開發(fā),網(wǎng)站制作,網(wǎng)站設計,網(wǎng)站模板,微信公眾號開發(fā),軟件開發(fā),微信平臺小程序開發(fā),十載建站對成都花箱等多個方面,擁有豐富的網(wǎng)站制作經(jīng)驗。
在Python中,集合最常用的操作就是進行交集、并集、差集和對稱差集的運算。
要想學習集合的交集、并集、差集和對稱差集運算方法,首先我們來了解這些名詞的含義:
設A、B兩個集合,由所有屬于集合A且屬于集合B的元素所組成的集合,叫做集合A與集合B的交集。在Python中,進行交集運算時使用“”符號。
給定兩個集合A、B,把他們所有的元素合并在一起組成的集合,叫做集合A與集合B的并集。在Python中,進行并集運算時使用“|”符號。
設A,B是兩個集合,則所有屬于A且不屬于B的元素構(gòu)成的集合,叫做集合A與集合B的差集。在Python中,進行差集運算時使用“-”符號。
對稱差集也稱為對稱差分或者補集,設A,B是兩個集合,所有不相同的集合,叫做集合A與集合B的對稱差集(對稱差分或者補集)。在Python中,進行對稱差集運算時使用“^”符號。
上面都是概念性的描述,下面站長在線來舉實際的場景來對交集、并集、差集和對稱差集運算方法進行深入淺出的解讀。
場景模擬:某高中三年級,文科班高考的科目是語文、數(shù)學、英語、政治、 歷史 和地理。理科班高考的科目是語文、數(shù)學、英語、物理、化學和生物。
設定集合A為文科班高考的科目,集合B為理科班高考的科目。
A = {'語文','數(shù)學','英語','政治',' 歷史 ','地理'}
B = {'語文','數(shù)學','英語','物理','化學','生物'}
我們使用集合的交集運算的時候可以采用兩種方式,一種是使用“”運算符進行操作,另一種是使用 intersection() 方法來實現(xiàn)。
運行結(jié)果:
運行結(jié)果:
同理集合B和集合A的交集也是一樣。我這里就不重復了,自己去體驗一下。
集合的并集運算也有兩種方式,一種是使用“|”運算符進行操作,另一種是使用union()方法來實現(xiàn)。
運行結(jié)果如下:
運行結(jié)果為:
同理集合B和集合A的并集也是一樣。自己去體驗一下吧!
集合的差集運算也有兩種方式,一種是使用“-”運算符進行操作,另一種是使用difference()方法來實現(xiàn)。
運行結(jié)果為:
上面是集合A和集合B的差集,但是集合B和集合A的差集就不是一樣的了哦!
運行結(jié)果為:
從上面可以看出,集合A和集合B的差集 與 集合B和集合A的差集是不一樣的,(A - B)是A中存在的部分,(B - A)是B中存在的部分。
運行結(jié)果:
同理,使用difference()方法進行集合B和集合A的差集也是不同的
運行結(jié)果:
集合的差集運算也有兩種方式,一種是使用“^”運算符進行操作,另一種是使用symmetric_difference()方法來實現(xiàn)。
運行結(jié)果為:
運行結(jié)果為:
同樣的,集合B與集合A的對稱差集也是一樣,自己去體驗一下。
我們對集合的交集、并集、差集和對稱差集運算方法全部詳細的講解了一遍,通過運行結(jié)果,我們得出結(jié)論:
集合中進行交集、并集、對稱差集進行運算的時候,集合A與集合B,位置替換的時候,結(jié)果相同。
集合中進行差集運算的時候,集合A與集合B,位置替換的時候,結(jié)果不同,為前面那個集合獨立存在的部分。
到此為止,本節(jié)課的內(nèi)容《Python中集合的交集、并集、差集和對稱差集運算方法詳解》就完全講完了,主要講的集合運算的相關(guān)的概念,及運算方法,包括:集合的交集、集合的并集、集合的差集、集合的對稱差集、集合的交集運算方法、集合的并集運算方法、集合的差集運算方法、集合的對稱差集運算方法。
本文實例講述了python獲得兩個數(shù)組交集、并集、差集的房部分。分享給大家供大家參考。具體如下:
1. 獲取兩個list 的交集
#方法一:
a=[2,3,4,5]
b=[2,5,8]
tmp = [val for val in a if val in b]
print tmp
#[2, 5]
#方法二
print list(set(a).intersection(set(b)))
2. 獲取兩個list 的并集
print list(set(a).union(set(b)))
3. 獲取兩個 list 的差集
print list(set(b).difference(set(a))) # b中有而a中沒有的
通過以上方法,就能處理python list 的交集,并集,差集了。
如果原數(shù)據(jù)是唯一的,就把每一個元素,添加到一個字典中
最終獲得類似{"A1":5,"A3":2,"D1":5,"D3":10}的字典,也就是記錄每一個元素出現(xiàn)的次數(shù),如果是10個元組的交集,那么次數(shù)=10。
python求列表交集的方法匯總
本文實例匯總了python求列表交集的方法。分享給大家供大家參考。具體方法如下:
交集對于給定的兩個集合A 和 集合B 的交集是指含有所有既屬于 A 又屬于 B 的元素,而沒有其他元素的集合叫交集了,下面給出幾個python求列表交集例子供大家參考。
方法1
遍歷b1,如果某個元素同時也存在于b2中,則返回
代碼如下:b1=[1,2,3]
b2=[2,3,4]
b3 = [val for val in b1 if val in b2]
print b3
運行結(jié)果如下
代碼如下:[2, 3]
方法2
把列表轉(zhuǎn)換為集合,利用集合操作符求出交集,然后再轉(zhuǎn)換回列表類型
代碼如下:b1=[1,2,3]
b2=[2,3,4]
b3=list(set(b1) set(b2))
print b3
運行結(jié)果如下
代碼如下:[2, 3]
方法3
前面的例子中兩個list都是簡單的單元素列表,還有一種比較特殊的情況,就是有嵌套類型的
代碼如下:b1=[1,2,3]
b2=[[2,4],[3,5]]
b3 = [filter(lambda x: x in b1,sublist) for sublist in b2]
print b3
運行結(jié)果如下
代碼如下:[2, 3]
希望本文所述對大家的Python程序設計有所幫助。
分享名稱:python中交集函數(shù),python中交集符號
本文URL:http://chinadenli.net/article41/dsgedhd.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供定制開發(fā)、品牌網(wǎng)站設計、軟件開發(fā)、標簽優(yōu)化、網(wǎng)頁設計公司、域名注冊
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)