2017-08-26 116 views
0

這裏我試圖檢查'b'的元素是[1,3],[1,5],[3,7], [5,7],[6,9],[8,10]是'a'元素的子集[1,3,5,7]和[6,8,9,10]。 如果b的任何元素是任何元素的子集,那麼它將從b中移除。檢查列表中的元素是否是另一個列表元素的子集

 a = [[1, 3, 5, 7],[6, 8, 9, 10]] 
    b = [[1, 3], [1, 5],[10, 11],[6, 9],[8, 10]] 

如果'b'的任何元素是'a'的任何元素的子集,那麼它將從b中移除。 這意味着新的乙方應: -

 b = [[10,11]] 
+0

非常好。你嘗試了什麼? –

+0

你的問題至少對我來說不是很清楚。你的意思是b中的任何一個數組,它是可從 – pointerless

+0

歡迎使用堆棧溢出生成的對之一!請查看我們的SO問題清單,以幫助您提出一個好問題,從而得到一個很好的答案。請粘貼您已經嘗試的代碼的最小,完整且可驗證的示例。 – Heri

回答

0

如果你想設置操作,使用Python的set數據類型,其中有一個issubset()方法。

b = [x for x in b if not any(set(x).issubset(y) for y in a)] 
相關問題