Feb. 17th, 2021

vitus_wagner: My photo 2005 (Default)

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

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

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 гонять.

Profile

vitus_wagner: My photo 2005 (Default)
vitus_wagner

March 2026

S M T W T F S
1 2 34567
8 910 1112 1314
15161718192021
22232425262728
293031    

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Mar. 13th, 2026 06:11 pm
Powered by Dreamwidth Studios