gpt4 book ai didi

python - 如何在数组内执行双重排序?

转载 作者:太空狗 更新时间:2023-10-30 01:55:57 25 4
gpt4 key购买 nike

我不知道这种排序的确切术语。这是问题 -我有一个类 foo

class foo:
def __init__(self,a1,a2):
self.attrb1 = a1
self.attrb2 = a2

def sort(self):
return self.attrb1

数组“bar”包含 foo 类型的对象。我想根据这两个属性对数组进行降序排序。首先由 attrb1

bar.sort(key=foo.sort,reverse=True)

然后我想根据attrb2对自身内部的已排序元素进行排序。所以对于数组中的两个元素 foo1 和 foo2 我们有 -

foo1 > foo2 
if foo1.attrb1 > foo2.attrb1
elif foo1.attrb1 == foo2.attrb1
foo1.attrb2 > foo2.attrb2

我该怎么做?

最佳答案

bar.sort(key=lambda x: (x.attrb1, x.attrb2), reverse=True)

而且你不需要定义foo.sort

关于python - 如何在数组内执行双重排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4768151/

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