List flattiening in python

Feb 17, 2021 10:24


Имеется элементарная задачка - есть список шаблонов. Надо получить список файлов, удоволетворяющих любому из них.

У меня почему-то получается монструозная конструкция:

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

python

Previous post Next post
Up