2017-08-26 117 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)] 
相关问题