import re pattern = re.compile('|'.join(map(re.escape, list1))) result = [item for item in list2 if not pattern.search(item)]