2024-04-20 04:10:50 发布
网友
我有一个python列表,它的项是一个类的对象,具有各种属性,例如birthday\u score、anniversary\u score、baby\u score。。。。。我想根据这些属性中的一个对列表进行排序,比如周年纪念分数。我该怎么做?在
your_list.sort(key = lambda x : x.anniversary_score)
或者,如果属性名称是字符串,则可以使用:
使用sorted:
sorted
class X(): def __init__(self, a_s): self.anniversary_score = a_s li = [X(1), X(2), X(3), X(4)] sorted(li, key=lambda x: x.anniversary_score)
通常,Python Sorting Wiki包含了在Python中进行排序所需了解的所有内容。在
如果您事先不知道属性的名称,attrgetter很方便(例如,它可能来自文件或函数参数)
attrgetter
from operator import attrgetter sorted(my_list, key=attrgetter('anniversary_score'))
或者,如果属性名称是字符串,则可以使用:
^{pr2}$使用
sorted
:通常,Python Sorting Wiki包含了在Python中进行排序所需了解的所有内容。在
如果您事先不知道属性的名称,
attrgetter
很方便(例如,它可能来自文件或函数参数)相关问题 更多 >
编程相关推荐