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