具有多个属性和混合顺序的列表排序

具有多个属性和混合顺序的列表排序,第1张

具有多个属性和混合顺序的列表排序

如果您的属性是数字,则具有此属性。

def mixed_order( a ):    return ( a.attribute1, -a.attribute2 )someList.sort( key=mixed_order )

如果您的属性包括字符串或其他更复杂的对象,则可以选择。

.sort()
方法很稳定:您可以进行多次通过。这也许是最简单的。它也非常快。

def key1( a ): return a.attribute1def key2( a ): return a.attribute2someList.sort( key=key2, reverse=True )someList.sort( key=key1 )

如果这是唯一的排序,则可以定义自己的专用比较运算符。最少,您需要

__eq__
__lt__
。其他四个可以通过简单的逻辑从这两个派生



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5643433.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存