l1 = ['test1', 'test2', 'test3', 'test4', 'test5']
l2 = set(['*t1*', '*t4*'])
filterfunc = lambda item: not any(fnmatch(item, pattern) for pattern in l2)
list(filter(filterfunc, l1))
l2 = set(['t1', 't4'])
filterfunc = lambda item: not any(pattern in item for pattern in l2)
list(filter(filterfunc, l1))
Как отфильтровать список на основе другого списка, содержащего подстановочные знаки?