Используйте переменную для ключевого параметра в отсортированной функции

#python #sorting

#python #сортировка

Вопрос:

Я пытаюсь использовать другой ключ сортировки для каждого элемента массива.

Я пытаюсь использовать:

 sorted(response, key = lambda i: sorting, reverse=True)
 

где «сортировка» — это переменная, которая изменяется при каждом выполнении for . Пример:

 sorting = "i['Name']"
 

Мой код выполняется без ошибок, но сортировка выполняется не так, как ожидалось.

Чего мне не хватает?

Заранее спасибо

Комментарии:

1. Я не могу сделать никаких выводов из этой проблемы. Не могли бы вы опубликовать некоторые входные данные и ожидаемые результаты, а также некоторый контекст?

2. sorting = 'Name'; sorted(response, key = lambda i: getattr(i, sorting), reverse=True)

3. Что вы подразумеваете под «сортировкой» — это переменная, которая изменяется при каждом выполнении for»? Что «за»? Выполняется ли это в каком-то цикле?

Ответ №1:

Вы, вероятно, ищете:

 from operator import itemgetter
sorted(response, key=itemgetter("Name"), reverse=True)