检查列表的元素是否是另一个列表的元素的子集

时间:2017-08-26 13:28:30

标签: python python-2.7

我试图检查' b'的元素。那些[1,3],[1,5],[3,7],[5,7],[6,9],[8,10]是' a'的元素的子集。那是[1,3,5,7]和[6,8,9,10]。 如果b的任何元素是a的任何元素的子集,那么它将从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应该是: -

     b = [[10,11]]

1 个答案:

答案 0 :(得分:0)

如果您想要设置操作,请使用python' set数据类型,该数据类型具有issubset()方法。

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