gpt4 book ai didi

python对象列表,根据对象属性降序排序

转载 作者:行者123 更新时间:2023-11-28 19:44:06 25 4
gpt4 key购买 nike

我有一个对象列表,我需要按其中一个对象属性对其进行排序。

我可以用下面的代码进行升序排序

list1 = sorted(list1, key=lambda object1: object1.fitness)

但是,这会按升序对列表进行排序,而我需要做的是按降序排序。这在对对象列表进行排序时可能吗?

最佳答案

指定 reverse=True 参数:

list1 = sorted(list1, key=lambda object1: object1.fitness, reverse=True)

演示(简单的整数列表):

>>> l = [6, 0, 2, 3, 1, 5, 4]
>>> sorted(l)
[0, 1, 2, 3, 4, 5, 6]
>>> sorted(l, reverse=True)
[6, 5, 4, 3, 2, 1, 0]

演示(datetime.dates,使用 operator.attrgetter 而不是 @SethMMorton 建议的 lambda):

>>> from datetime import date
>>> from operator import attrgetter
>>> l = [date(2014, 4, 11), date(2014, 4, 2), date(2014, 4, 3), date(2014, 4, 8)]

>>> sorted(l, key=attrgetter('day'))
[datetime.date(2014, 4, 2),
datetime.date(2014, 4, 3),
datetime.date(2014, 4, 8),
datetime.date(2014, 4, 11)]
>>> sorted(l, key=attrgetter('day'), reverse=True)
[datetime.date(2014, 4, 11),
datetime.date(2014, 4, 8),
datetime.date(2014, 4, 3),
datetime.date(2014, 4, 2)]

关于python对象列表,根据对象属性降序排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22841419/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com