Используйте ZIP () и отсортировано (), чтобы объединить и сортировать два списка, основанные на значениях индексов. Используйте понимание списка, чтобы получить первый элемент каждой пары из результата.
Код:
def sort_by_indexes (lst, indexces): return [val for _, val в сортировке (zip (indexies, lst), x: x [0])]
ПРИМЕРЫ
a = [«Яйца», «хлеб», «апельсины», «джем», «яблоки», «молоко»] B = [3, 2, 6, 4, 1, 5] sort_by_indexes (A, B) # [«Яблоки», «Хлеб», «Яйца», «Джем», «Молоко», «Апельсины»]
Доля и поддержка t.me/python_codes
Оригинал: “https://dev.to/ursmahi/sorts-one-list-based-on-another-list-containing-the-desired-indexes-2kf6”