Имеется элементарная задачка - есть список шаблонов. Надо получить список файлов, удоволетворяющих любому из них.
У меня почему-то получается монструозная конструкция:
from glob import glob
from itertools import chain
chain(*[glob(x) for x in patterns])
Так то оно еще ничего выглядит, но когда там Inline список из десятка шаблонов, а все это в аргументе for...
Неужели никак попроще нельзя?
Upd Приз моих симпатий получает двухуровневый comprehension:
import glob
{f for p in patterns for f in glob.glob(p)}
А фигурные скобки - это чтобы избежать дублирования, ежели получится что один и тот же файл удовлетворяет нескольим шаблонам. В результате будет set, ну и какая разница, for можно и по set гонять.
This entry was originally posted at
https://vitus-wagner.dreamwidth.org/2233062.html. Please comment there using OpenID. Now there are
comments