У меня есть список экземпляров класса -Сортировать список экземпляров класса Python
x = [<iteminstance1>,...]
среди прочих атрибутов класс имеет score
атрибут. Как я могу сортировать элементы в порядке возрастания на основе этого параметра?
EDIT: list
В python есть что-то под названием sort
. Могу ли я использовать это здесь? Как мне настроить эту функцию на использование моего атрибута score
?
wow! это так просто !! Просто проверил. Это :) – 2010-10-24 20:37:41
Добро пожаловать на Python! Для полноты: параметр «ключ» для функций/методов srot принимает функцию в качестве ее параметра. Модуль оператора предоставляет полезные функции для задач, которые обычно выполняются самим языком Синтаксис - как функция «добавить», чтобы сделать то же самое, что и токен «+» на языке, и в этом случае attrgetter делает то же самое, . "в синтаксисе. Другими параметрами для «ключа» могут быть функции на месте, определенные с помощью «лямбда». В этом случае sorted_x = sorted (x, lambda x: x.score)) тоже работал бы. Однако данный пример лучше. – jsbueno
Я не уверен, что лучше использовать 'attrgetter'. Кажется, что Лямбдас так же быстро, и выглядит чище ИМО. – adw