A在B中的相對補集:
創(chuàng)新互聯(lián)公司是一家專注于網(wǎng)站設計制作、網(wǎng)站設計與策劃設計,屏南網(wǎng)站建設哪家好?創(chuàng)新互聯(lián)公司做網(wǎng)站,專注于網(wǎng)站建設十余年,網(wǎng)設計領域的專業(yè)建站公司;建站業(yè)務涵蓋:屏南等地區(qū)。屏南做網(wǎng)站價格咨詢:18982081108
元素屬于B,但不屬于A。寫作B - A,讀作“A在B中的相對補集”。
以{1,2,3}為例說明子集和真子集:
子集為{1}、{2}、{3}、{1,2}、{1,3}、{2,3}、它本身、再加個空集
真子集為{1}、{2}、{3}、{1,2}、{1,3}、{2,3}、再加個空集,不包括它本身。
非空真子集為{1}、{2}、{3}、{1,2}、{1,3}、{2,3},不包括它本身及空集。
運行結果:
in 不能用來判斷子集,可以判斷元素是否存在于集合中
運行結果:
;fromid=942400
歡迎你來到站長在線的站長學堂學習Python知識,本文學習的是《Python中集合的交集、并集、差集和對稱差集運算方法詳解》。主要講的是集合運算的相關的概念,及運算方法,包括:集合的交集、集合的并集、集合的差集、集合的對稱差集、集合的交集運算方法、集合的并集運算方法、集合的差集運算方法、集合的對稱差集運算方法。
在Python中,集合最常用的操作就是進行交集、并集、差集和對稱差集的運算。
要想學習集合的交集、并集、差集和對稱差集運算方法,首先我們來了解這些名詞的含義:
設A、B兩個集合,由所有屬于集合A且屬于集合B的元素所組成的集合,叫做集合A與集合B的交集。在Python中,進行交集運算時使用“”符號。
給定兩個集合A、B,把他們所有的元素合并在一起組成的集合,叫做集合A與集合B的并集。在Python中,進行并集運算時使用“|”符號。
設A,B是兩個集合,則所有屬于A且不屬于B的元素構成的集合,叫做集合A與集合B的差集。在Python中,進行差集運算時使用“-”符號。
對稱差集也稱為對稱差分或者補集,設A,B是兩個集合,所有不相同的集合,叫做集合A與集合B的對稱差集(對稱差分或者補集)。在Python中,進行對稱差集運算時使用“^”符號。
上面都是概念性的描述,下面站長在線來舉實際的場景來對交集、并集、差集和對稱差集運算方法進行深入淺出的解讀。
場景模擬:某高中三年級,文科班高考的科目是語文、數(shù)學、英語、政治、 歷史 和地理。理科班高考的科目是語文、數(shù)學、英語、物理、化學和生物。
設定集合A為文科班高考的科目,集合B為理科班高考的科目。
A = {'語文','數(shù)學','英語','政治',' 歷史 ','地理'}
B = {'語文','數(shù)學','英語','物理','化學','生物'}
我們使用集合的交集運算的時候可以采用兩種方式,一種是使用“”運算符進行操作,另一種是使用 intersection() 方法來實現(xiàn)。
運行結果:
運行結果:
同理集合B和集合A的交集也是一樣。我這里就不重復了,自己去體驗一下。
集合的并集運算也有兩種方式,一種是使用“|”運算符進行操作,另一種是使用union()方法來實現(xiàn)。
運行結果如下:
運行結果為:
同理集合B和集合A的并集也是一樣。自己去體驗一下吧!
集合的差集運算也有兩種方式,一種是使用“-”運算符進行操作,另一種是使用difference()方法來實現(xiàn)。
運行結果為:
上面是集合A和集合B的差集,但是集合B和集合A的差集就不是一樣的了哦!
運行結果為:
從上面可以看出,集合A和集合B的差集 與 集合B和集合A的差集是不一樣的,(A - B)是A中存在的部分,(B - A)是B中存在的部分。
運行結果:
同理,使用difference()方法進行集合B和集合A的差集也是不同的
運行結果:
集合的差集運算也有兩種方式,一種是使用“^”運算符進行操作,另一種是使用symmetric_difference()方法來實現(xiàn)。
運行結果為:
運行結果為:
同樣的,集合B與集合A的對稱差集也是一樣,自己去體驗一下。
我們對集合的交集、并集、差集和對稱差集運算方法全部詳細的講解了一遍,通過運行結果,我們得出結論:
集合中進行交集、并集、對稱差集進行運算的時候,集合A與集合B,位置替換的時候,結果相同。
集合中進行差集運算的時候,集合A與集合B,位置替換的時候,結果不同,為前面那個集合獨立存在的部分。
到此為止,本節(jié)課的內容《Python中集合的交集、并集、差集和對稱差集運算方法詳解》就完全講完了,主要講的集合運算的相關的概念,及運算方法,包括:集合的交集、集合的并集、集合的差集、集合的對稱差集、集合的交集運算方法、集合的并集運算方法、集合的差集運算方法、集合的對稱差集運算方法。
原碼:原碼是二進制數(shù)字的一種簡單的表示法。二進制首位為符號位,1代表負,0代表正。
反碼:反碼可由原碼得到。如果是正數(shù),反碼與原碼相同;如果是負數(shù),反碼是其原碼(符號位除外)各位取反而得到的。
補碼:補碼可由原碼得到。如果是正數(shù),補碼與原碼相同;如果是負數(shù),補碼是對其原碼(除符號位外)各位取反,并在末位加1而得到的(有進位則進位,但不改變符號位)。
python有按位取反的操作符:~ ? 但是對負整數(shù)要小心操作,因為在計算機系統(tǒng)中,數(shù)值一律用補碼來表示和存儲的。
我們在遇到一些問題的時候,使用集合的交集、并集和差集能夠更便捷的幫助我們去解決問題,看下面一個例子。
某學校有兩個班級,班級A需要學習數(shù)學、語文、英語、物理、化學和生物,班級B需要學習數(shù)學、語文、英語、政治、地理和歷史。
我們可以直接看出A班級和B班級的交集為數(shù)學、語文和英語,并集為數(shù)學、語文、英語、物理、化學、生物、政治、地理、歷史,A和B的差集為物理、化學和生物。
那么怎么使用Python去完成這些運算?
我們先在這里定義兩個集合,
因為是求交集,因此A和B的位置調換依然不影響結果。
使用集合求并集的方式同樣也是兩種方式,一種是使用 ‘|’ 運算符進行操作,一種是使用 union() 方法來實現(xiàn)。
求并集的時候同樣不需要注意 A 和 B 的位置關系。
使用集合求差集的方式同樣也是兩種方式,一種是使用 ‘-’ 運算符進行操作,一種是使用 difference() 方法來實現(xiàn)。
在方法2中注意 A 和 B 的位置不同的時候是有區(qū)別的,如果是 A 使用 difference() 方法,那么是輸出 A 中有而 B 中沒有的元素,如果是 B 使用 difference() 方法,那么是輸出 B 中有而 A 中沒有的元素。
學習完了集合,四種核心集合我們已經(jīng)基本掌握,接下來幾節(jié)我們來通過學習一些字符串的相關操作,學習字符串的過程中會穿插著前面簡單介紹過但沒仔細講解的方法及操作。
setA = set(fib(i+1) for i in range(a))
setB = set(fib(i+1) for i in range(b))
setC = setA | setB
setAcomp = setC - setA
setBcomp = setC - setB
print(setAcomp)
print(setBcomp)