Метод sort
имеет значения key
и cmp
аргументов, которые можно использовать для пользовательской сортировки.Если вы дополняете структуру данных data
дополнительной информацией, необходимой для сортировки, вы можете использовать либо key
, либо cmp
(в зависимости от конкретной необходимости) в вызове sort
, чтобы достичь того, что вы хотите.Вот простой пример:
In [60]: ids = [1, 2, 3]
In [61]: score = {1: 20, 2: 70, 3: 40}
In [62]: ids.sort(key=lambda x: score[x])
In [63]: ids
Out[63]: [1, 3, 2]
Здесь я отсортировал список ids
в соответствии с оценкой каждого id
, взятого из словаря score
.