У меня есть список строк со следующим шаблоном
my_list = ['/path/to/my/data/S1B_IW_GRDH_1SDV_20190610T030906_20190610T030931_016628_01F4BE_6B99_VV.tif',
'/path/to/my/data/S1A_IW_GRDH_1SDV_20190523T030954_20190523T031019_027349_0315A8_999E_VV.tif',
'/path/to/my/data/S1A_IW_GRDH_1SDV_20190511T030953_20190511T031018_027174_03102E_402F_VV.tif',
'/path/to/my/data/S1A_IW_GRDH_1SDV_20190628T030956_20190628T031021_027874_032595_0B1F_VV.tif',
'/path/to/my/data/S1A_IW_GRDH_1SDV_20190604T030955_20190604T031020_027524_031B16_BD33_VV.tif',
'/path/to/my/data/S1B_IW_GRDH_1SDV_20190622T030907_20190622T030932_016803_01F9F1_D6E9_VV.tif',
'/path/to/my/data/S1B_IW_GRDH_1SDV_20190505T030904_20190505T030929_016103_01E4AD_17B5_VV.tif']
Я хочу отсортировать свой список в хронологическом порядке, используя информацию о времени, присутствующую в каждой строке (20190610,.....
). Проблема в том, что в начале каждой строки у меня есть шаблон S1A
или S1B
, что делает использование простого mylist.sort()
неработающим напрямую.
Просматривая другие посты, я видел, чтоРешением будет использование аргумента key
с каким-либо шаблоном.
Мой вопрос заключается в том, как начать сортировку в определенной позиции каждой строки в моем списке. В моем случае я хочу начать сортировку с позиции 35
сразу после _1SDV_
Я видел некоторые варианты, такие как
from operator import itemgetter
my_list.sort(key = itemgetter(35))
или
my_list.sort(key = lambda x: x[35])