我正在学习python,我不知道使用许多属性对对象列表进行排序的最佳方法是什么。现在我有了这个
class Example:
def __init__(self, a,b,c):
self.a = a
self.b = b
self.c = c
List = [Example(3,1,5), Example(2,1,2), Example(2,2,2), Example(1,4,1),Example(1,4,5), Example(1,4,2)]
我不知道如何分类。Python中是否有任何工具可以帮助实现这一点,或者需要编写一些自定义函数?你知道吗
您可以按以下方式按多个项目排序:
您需要在类中实现rich comparison methods,比如} 来修饰,我们就可以只实现其中的两个(
__lt__
和__ne__
,以便能够对类的实例列表进行排序。但是,如果我们用^{__eq__
和一个不等式),而不是实现所有六个比较。你知道吗如果您想要一个字典排序,那么您首先在
a
上进行比较,然后如果并列,则在b
上进行比较,如果仍然并列,则在c
上进行比较,请参见以下内容:现在,我们可以做以下工作:
这一切都取决于你的排序计划。但是,不管是什么,您可能正在寻找lambda函数。假设您想按self排序。您可以这样编写排序属性
相关问题 更多 >
编程相关推荐