У меня есть список строк, и я должен отсортировать его по какой-то строке поиска.
My Search String is Home Depot
MyList = ['Depot Home','Rollins Home Furniture','HomeDepot 1346','Home Depot']
Ожидаемый результат:
Sorted list: ['HomeDepot 1346','Home Depot','Depot Home','Rollins Home Furniture']
В отсортированном списке первый элемент является точным соответствием строки поиска, удаляя пробелы, второй также является точным соответствием с пробелом, а 3-й элемент является частичным совпадением депо (в алфавитном порядке), а 4-й элемент также является частичным совпадением для Home (алфавитный заказ, размещенный после депо)
Что я сделал до сих пор:
searchquery_startswith=[w for w in Mylist if w.startswith('HOME DEPOT'.strip())]
searchquery_substring= [w for w in Mylist if ('HOME DEPOT' in w and w not in searchquery_startswith)]
Я знаю, что могу сделать что-то подобное, но я ищу более питонский способ достичь этого. Всю помощь оценили