當前位置:首頁 » 編程語言 » python列表交集

python列表交集

發布時間: 2025-09-15 05:03:47

『壹』 求一段python程序,定義一個函數,輸入為兩個list,return是兩個list的交集和並集。 求高手解答

呵呵 樓上錯了一點 剽竊剽竊!

def f(l1, l2):
return list(set(l1) & set(l2)), list(set(l1) | set(l2))

l1=['a','b','c']
l2=['d','b','c']
print(f(l1,l2))
#output: (['c', 'b'], ['a', 'c', 'b', 'd'])

『貳』 Python精講:Python中集合的交集並集差集和對稱差集運算方法詳解

歡迎你來到站長在線的站長學堂學習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中,進行對稱差集運算時使用「^」符號。

上面都是概念性的描述,下面站長在線來舉實際的場景來對交集、並集、差集和對稱差集運算方法進行深入淺出的解讀。

場景模擬:某高中三年級,文科班高考的科目是語文、數學、英語、政治、 歷史 和地理。理科班高考的科目是語文、數學、英語、物理、化學和生物。

設定集合A為文科班高考的科目,集合B為理科班高考的科目。

A = {'語文','數學','英語','政治',' 歷史 ','地理'}

B = {'語文','數學','英語','物理','化學','生物'}

我們使用集合的交集運算的時候可以採用兩種方式,一種是使用「&」運算符進行操作,另一種是使用 intersection() 方法來實現。

運行結果:

運行結果:

同理集合B和集合A的交集也是一樣。我這里就不重復了,自己去體驗一下。

集合的並集運算也有兩種方式,一種是使用「|」運算符進行操作,另一種是使用union()方法來實現。

運行結果如下:

運行結果為:

同理集合B和集合A的並集也是一樣。自己去體驗一下吧!

集合的差集運算也有兩種方式,一種是使用「-」運算符進行操作,另一種是使用difference()方法來實現。

運行結果為:

上面是集合A和集合B的差集,但是集合B和集合A的差集就不是一樣的了哦!

運行結果為:

從上面可以看出,集合A和集合B的差集 與 集合B和集合A的差集是不一樣的,(A - B)是A中存在的部分,(B - A)是B中存在的部分。

運行結果:

同理,使用difference()方法進行集合B和集合A的差集也是不同的

運行結果:

集合的差集運算也有兩種方式,一種是使用「^」運算符進行操作,另一種是使用symmetric_difference()方法來實現。

運行結果為:

運行結果為:

同樣的,集合B與集合A的對稱差集也是一樣,自己去體驗一下。

我們對集合的交集、並集、差集和對稱差集運算方法全部詳細的講解了一遍,通過運行結果,我們得出結論:

集合中進行交集、並集、對稱差集進行運算的時候,集合A與集合B,位置替換的時候,結果相同。

集合中進行差集運算的時候,集合A與集合B,位置替換的時候,結果不同,為前面那個集合獨立存在的部分。

到此為止,本節課的內容《Python中集合的交集、並集、差集和對稱差集運算方法詳解》就完全講完了,主要講的集合運算的相關的概念,及運算方法,包括:集合的交集、集合的並集、集合的差集、集合的對稱差集、集合的交集運算方法、集合的並集運算方法、集合的差集運算方法、集合的對稱差集運算方法。

『叄』 python 怎麼求兩個列表的交集

方法1

遍歷b1,如果某個元素同時也存在於b2中,則返回

復制代碼代碼如下:
b1=[1,2,3]
b2=[2,3,4]
b3 = [val for val in b1 if val in b2]
print b3

運行結果如下

復制代碼代碼如下:
[2, 3]

方法2

把列表轉換為集合,利用集合操作符求出交集,然後再轉換回列表類型

復制代碼代碼如下:
b1=[1,2,3]
b2=[2,3,4]
b3=list(set(b1) & set(b2))
print b3

運行結果如下

復制代碼代碼如下:
[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

運行結果如下

復制代碼代碼如下:
[2, 3]

熱點內容
存儲干糧 發布:2025-09-15 07:04:02 瀏覽:825
模範編程 發布:2025-09-15 06:32:02 瀏覽:932
ae清緩存快捷鍵 發布:2025-09-15 06:28:30 瀏覽:860
北京房山聯通伺服器ip雲主機 發布:2025-09-15 06:17:40 瀏覽:476
怎麼寫掛機腳本 發布:2025-09-15 06:08:59 瀏覽:35
win7共享文件夾離線 發布:2025-09-15 06:06:10 瀏覽:493
java變數的使用 發布:2025-09-15 05:52:08 瀏覽:999
編程平方和 發布:2025-09-15 05:49:55 瀏覽:458
sql連接ip 發布:2025-09-15 05:46:29 瀏覽:332
無法訪問的語句 發布:2025-09-15 05:41:34 瀏覽:351