Сортировка списка строковых данных относительно другого
Есть списки строковых данных (to_sort_a, to_sort_b), которые нужно отсортировать относительно origin_list, с оглядкой на этот список, так чтобы элементы имеющиеся в origin_list имели тот же самый порядок.
origin_list = ['АС7-АС9', 'АС9', 'АС10_0-2', 'АС11_0', 'АС12_0']
to_sort_a = ['АС', 'АС9', 'АС8', 'АС7-АС9']
to_sort_b = ['АС10_0-2', 'АС10_1-3', 'АС11_00', 'АС12_0', 'АС11_01', 'АС11_02', 'АС11_1', 'АС11_0']
По итогу должны получаться следующие списки:
sorted_a = ['АС', 'АС8', 'АС7', 'АС7-АС9', 'АС9']
sorted_b = ['АС10_0-2', 'АС11_0', 'АС12_0', 'АС10_1-3', 'АС11_00', 'АС11_01', 'АС11_02', 'АС11_1']
Ответы (1 шт):
Автор решения: Швеев Алексей
→ Ссылка
Ну если я правильно понял...
list1 = ["b", "c", "a"]
list2 = [1, 2, 3]
zipList = list(zip(list1, list2)) # [("b", 1), ("c", 2), ("a", 3)]
zipList.sort(key=lambda x: x[0]) # Сортируем по первому значению
list1, list2 = list(zip(*zipList)) # распаковываем
# list1 = ("a", "b", "c")
# list2 = (3, 1, 2)