我有两个列表:
这不是从列表中删除子列表的重复问题,因为我想从大列表中删除所有子列表。在另一个问题中,结果应该是
更新:为简单起见,在此示例中采用整数。但列表项可以是任意对象。
更新2:
如果
我想要的结果是
更新3:
我不喜欢将源代码从StackOverflow粘贴到我的代码中。这就是为什么我在software-recommendations上创建了第二个问题的原因: https://softwarerecs.stackexchange.com/questions/51273/library-to-remove-every-occurrence-of-sub-list-from-list-python 更新4:如果您知道一种可以通过一种方法调用来解决此问题的库,请将其编写为答案,因为这是我首选的解决方案。
测试应通过此测试:
big_list = [2, 1, 2, 3, 1, 2, 4]
sub_list = [1, 2]
我想从big_list中删除所有sub_list出现的情况。
结果应该是[2, 3, 4]
对于字符串,您可以使用以下内容:
'2123124'.replace('12', '')
据我所知,这种方法无法用于列表。这不是从列表中删除子列表的重复问题,因为我想从大列表中删除所有子列表。在另一个问题中,结果应该是
[5,6,7,1,2,3,4]
。更新:为简单起见,在此示例中采用整数。但列表项可以是任意对象。
更新2:
如果
big_list = [1, 2, 1, 2, 1]
且sub_list = [1, 2, 1]
,我想要的结果是
[2, 1]
(类似于'12121'.replace('121','')
)更新3:
我不喜欢将源代码从StackOverflow粘贴到我的代码中。这就是为什么我在software-recommendations上创建了第二个问题的原因: https://softwarerecs.stackexchange.com/questions/51273/library-to-remove-every-occurrence-of-sub-list-from-list-python 更新4:如果您知道一种可以通过一种方法调用来解决此问题的库,请将其编写为答案,因为这是我首选的解决方案。
测试应通过此测试:
def test_remove_sub_list(self):
self.assertEqual([1, 2, 3], remove_sub_list([1, 2, 3], []))
self.assertEqual([1, 2, 3], remove_sub_list([1, 2, 3], [4]))
self.assertEqual([1, 3], remove_sub_list([1, 2, 3], [2]))
self.assertEqual([1, 2], remove_sub_list([1, 1, 2, 2], [1, 2]))
self.assertEquals([2, 1], remove_sub_list([1, 2, 1, 2, 1], [1, 2, 1]))
self.assertEqual([], remove_sub_list([1, 2, 1, 2, 1, 2], [1, 2]))