В приведенной ниже функции мне нужно отсортировать «элементы» на основе списка «ранг», который вычисляется внутри функции. Но мне нужно сделать это на месте и не создавать другого объекта. Код ниже выполняет сортировку, но создает новую ссылку. Другими словами, идентификаторы (элементы) до и после различны.Сортировка списка в python in place
def collection_modifyitems(items):
# calculate 'rank'
print(id(items))
items = [x for (y, x) in sorted(zip(test_rank, items), key=lambda s: s[0])]
print(id(items))
Как я могу это сделать без создания новой справки или сделать это на месте?
'пунктов [:] = [х для (у, х) в отсортированный (zip (test_rank, items), key = lambda s: s [0])] '? –