Примечание: Я понимаю, что это похоже на много вопросов, но подождите всего секунду и закончите чтение.Сортировать список по другому списку в Python без слияния
Есть ли способ сортировать список другим, где нам не нужно каким-то образом объединять списки?
items = ["a", "b", "c", "d", "e"]
minutes_ago = [1, 3, 2, 5, 4]
Результат должен быть, что items
отсортирован по minutes_ago
списка. Каков оптимизированный способ сделать это?
Я думал о каком-то sorted(items, key = lambda ...)
, но потом не мог себе представить, как его решить.
Out:
items = ["a", "c", "b", "e", "d"]
Почему вы не хотите, чтобы объединить их? (а затем разблокировать их после) – RemcoGerlich
Причины эффективности. Я не могу поверить, что лучшее, что мы можем сделать в python, - это объединить списки. – PascalVKooten
Ну, у вас должна быть * некоторая * структура данных, которая связывает элементы первого списка с элементами другого, который работает в алгоритме сортировки, который просто пытается сравнить элемент. Список кортежей - довольно естественный способ сделать это. – RemcoGerlich