Пример: нужно фильтровать все сайты, которые содержат точку и расширение файла из списка.
Я не знаю, что означает "сайты, которые содержат точку". Если вам нужно среди всех URL исключить те, которые указывают на файл с определенным расширением, то я бы на вашем месте воспользовался строковым методом
endswith:
import timeit
setup_code="""
sites_list = ["http://google.com",
"http://www.yandex.com",
"http://rambler.com/ololo.jpg",
"http://ya.ru/a.bmp"]
format_files = ['jpg', 'bmp', 'jpeg']
"""
print timeit.timeit("x=list(filter(lambda url: not any('.' + format_file in url for format_file in format_files), sites_list))",setup=setup_code,number=100000)
print timeit.timeit("x=list(url for url in sites_list if not url.endswith(tuple(format_files)))",setup=setup_code,number=100000)
Результаты:
1.01494306967
0.616600117219
Кроме того, я бы заменил, где это возможно, списки (list) на кортежи (tuple) или множества (set).