Форум сайта python.su
Друзья подскажите как можно сортировать список только определенные имена
Например у меня есть список
list1 = ['patch0001.sql', 'padert0002.sql', 'patch0003.sql', 'patch0004.sql', 'fgrty4823.sql']
Офлайн
>>> list1 = ['patch0001.sql', 'padert0002.sql', 'patch0003.sql', 'patch0004.sql', 'fgrty4823.sql'] >>> for i in list1: if 'patch' in i: print(i) patch0001.sql patch0003.sql patch0004.sql >>>
Офлайн
marvellikСпасибо
Отредактировано vitk (Ноя. 19, 2019 12:04:13)
Офлайн
regex = re.compile(r'patch(\d\d\d\d+)\.sql')
selected_files = list(filter(regex.search, file_list))
print(selected_files)
решил так
Вопрос закрыт
Офлайн
vitk
Как мне отсортировать список что б только вывести имена по заданному имени правилу patch(\d\d\d\d).sql ?
Тоесть только имена patch0001.sql patch0003.sql и т.д
>>> import re >>> >>> lst = ['patch0001.sql', ... 'padert0002.sql', ... 'patch0003.sql', ... 'patch0004.sql', ... 'fgrty4823.sql'] >>> >>> pat = r'^patch\d{4}\.sql$' >>> out = list(filter(re.compile(pat).search, lst)) >>> out ['patch0001.sql', 'patch0003.sql', 'patch0004.sql'] >>>
vitkОн найдёт и textpatch0000.sqltext.txt
решил такВопрос закрытregex = re.compile(r'patch(\d\d\d\d+)\.sql') selected_files = list(filter(regex.search, file_list)) print(selected_files)
Отредактировано py.user.next (Ноя. 20, 2019 08:40:27)
Офлайн
py.user.nextДа и txt так же этого не учел, Спасибо Большое
Отредактировано vitk (Ноя. 20, 2019 13:45:48)
Офлайн