Найти - Пользователи
Полная версия: Сортировка по заданому имени
Начало » Python для новичков » Сортировка по заданому имени
1
vitk
Друзья подскажите как можно сортировать список только определенные имена

Например у меня есть список

 list1 = ['patch0001.sql', 'padert0002.sql', 'patch0003.sql', 'patch0004.sql', 'fgrty4823.sql']

Как мне отсортировать список что б только вывести имена по заданному имени правилу patch(\d\d\d\d).sql ?
Тоесть только имена patch0001.sql patch0003.sql и т.д
marvellik
 >>> 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
>>>
vitk
marvellik
Спасибо

Как задать что б сортировало только sql расширения файлы еще с именем patch?
vitk
regex = re.compile(r'patch(\d\d\d\d+)\.sql')
selected_files = list(filter(regex.search, file_list))
print(selected_files)

решил так
Вопрос закрыт
py.user.next
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
решил так
  
regex = re.compile(r'patch(\d\d\d\d+)\.sql')
selected_files = list(filter(regex.search, file_list))
print(selected_files)
Вопрос закрыт
Он найдёт и textpatch0000.sqltext.txt
vitk
py.user.next
Да и txt так же этого не учел, Спасибо Большое
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB