list對象取交集 python怎么求兩個列表的交集?
python怎么求兩個列表的交集?方法1遍歷B1。如果元素也存在于B2中,則返回如下復制代碼:B1=[1,2,3]B2=[2,3,4]B3=[Val for Val in B1 If Val in 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。運行結果如下:[2,3]方法2將列表轉換為集合,使用集合運算符計算交集,然后將其轉換回列表類型。復制代碼如下:B1=[1,2,3]B2=[2,3,4]B3=list(set(B1)&set(B2))print B3。運行結果如下:復制代碼如下:[2,3,4],3]在前面的方法3示例中,這兩個列表是簡單的單元素列表。另一種特殊情況是嵌套類型的復制代碼如下: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]
如何求多個集合的交集?
標題等價于:假設有N個集合A1,A2,A3,…,an,如何找到A1∩A2∩A3∩。。。∩安。
有三種解決方案:
1。根據(jù)正常優(yōu)先級從左到右:
首先計算A1∩A2的值,假設該值等于S1,然后計算S1∩A3的值,依此類推,直到得到sn-1∩an的值,這是所有集合交集的結果。
2. 利用交換律和結合律來改變優(yōu)先權來計算:
在這N個集合中,首先比較容易找到兩個集合的交集,所以我們可以先找出它們的交集,假設s,然后看哪一對s和集合的其余部分比較容易找到交集等等,直到所有集合都匹配為止最終值是所有集合交集的結果。
3. 遞歸解決方案:事實上,它是上述兩種方法的變體。N個集合的交集可視為函數(shù)f,其參數(shù)為N個集合,簡稱f(N):則N-1個集合的交集可以按同一個函數(shù)求解,但參數(shù)不同——N-1個集合,簡稱f(N-1),假設解為s;然后s和集的其余部分找到交集是函數(shù)f的結果,函數(shù)f的參數(shù)是N個集。有了這個遞歸表達式,就可以通過計算機編程來求解。
python二維數(shù)組怎么求交集?
本文通過一個例子說明Python如何獲得兩個數(shù)組的交、并、差。與你分享供你參考。具體內容如下:1。獲取兩個列表的交集#方法1:a=[2,3,4,5]B=[2,5,8]TMP=[Val for Val in a if Val in B]print TMP#[2,5]#方法2:print list(set(a))。交叉點(集合(b)))2。獲取兩個列表的并集打印列表(set(a))。聯(lián)合(集合(b)))3。獲取兩個列表的差集打印列表(set(b))。差(集(a))#如果B中有而a中沒有,我們可以通過上述方法處理Python列表的交、并、差。