У меня есть два списка, например,
coords = [2, 0, 1, 4, 3]
value = [1, 9, 3, 3, 0]
, где первая представляет собой серию координат, а вторая представляет собой последовательность значений, соответствующих координатам, например, координата '2'
соответствует значению '1'
, координаты '0'
дают значение '9'
.
Теперь я бы хотел отсортировать coords
, но оставить порядок value
без изменений, чтобы наименьший элемент coords
соответствовал наименьшему элементу в value
и т. Д. , Желаемый результат будет:
coords_new = [1, 4, 2, 3, 0]
value = [1, 9, 3, 3, 0] # unchanged
, где '0' -> '0', '1' -> '1', '2' -> '3', '3' -> '3', '4' -> '9'
.
Есть идеи, чтобы сделать это? Вы можете вернуть coords_new
или индексы, которые переупорядочивают coords
в качестве ответа.
Edit:
Если возможно, я предпочитаю, чтобы мы возвращали индексы, которые изменяют порядок оригинала coords
, то есть возвращают idx
так, чтобы coords[idx] = coords_new
.
Большое спасибо!
Zhihao