相关疑难解决方法(0)

为要排序的类实现__lt__是否安全?

假设我的ClassA实例最终会出现在数据结构中,我们知道将在其上调用sorted().这是别人的代码,它会调用sorted(),所以我不能指定一个排序函数,但我可以实现适合ClassA的任何方法.

在我看来

def __lt__(self, other):
Run Code Online (Sandbox Code Playgroud)

是足够的,我不需要实现其他五个左右的方法(qt,eq,le,ge,ne).

这够了吗?

python sorting

29
推荐指数
1
解决办法
6509
查看次数

使用自定义键比较对象列表

我根据它们的一个属性对一些对象进行排序,使用类似这样的东西:

sorted_list = sorted(unsorted_list, key=lambda x: x.my_attr)
Run Code Online (Sandbox Code Playgroud)

有没有办法对这些对象的列表列表进行排序,就像Python可以对整数列表列表进行排序一样?我可以__cmp__(self, other)为这些对象重载,但这会在外部包中引发困难.嵌套也可能变得任意深,所以我认为我不能只使用列表理解.

我想知道是否有什么东西我可以生成my_attrs的列表并将其链接到相应的对象列表.我想不出一个好的方法来做到这一点.

python sorting list

5
推荐指数
1
解决办法
111
查看次数

标签 统计

python ×2

sorting ×2

list ×1