我有一个包含许多子列表的列表。例如:
full_list = [[1, 1, 3, 4], [3, 99, 5, 2],[2, 4, 4], [3, 4, 5, 2, 60]]
我还有另一个列表,称为省略。例如:
omit = [99, 60, 98]
如果该子列表中的任何元素在省略列表中,我想删除 full_list 中的子列表。例如,我希望结果列表为:
reduced_list = [[1, 1, 3, 4], [2, 4, 4]]
因为只有这些子列表没有省略列表中的元素。
我猜有一些简单的方法可以通过列表理解来解决这个问题,但我无法让它发挥作用。我尝试了很多东西:例如:
reduced_list = [sublist for sublist in full_list if item for sublist not in omit]
- 此代码导致错误(无效的 snytax) - 但我认为我遗漏的不止这些。
任何帮助将非常感激!
ps,上面是一个简化的问题。我的最终目标是从一个非常长的字符串列表(例如,500,000 个子列表)中删除子列表,如果这些子列表的任何元素(一个字符串)在“省略”列表中包含超过 2000 个字符串。