您可以通过使用生成器理解而不是列表理解来获得更好的结果,并使用set数据结构(因为in运算符在列表上是O(N),而在集合上是O(1)。所以这里有一个对你有用的函数:def filter_list(full_list, excludes):
s = set(excludes)
return (x for x in full_list if x not in s)结果将是一个可迭代的,它将懒洋洋地获取筛选的列表。如果您需要一个真正的列表对象(例如,如果您需要执行len()),然后您就可以轻松地构建如下所示的列表:filtered_list = list(filter_list(full_list, excludes))