Skip to main content
 首页 » 编程设计

python之对对象列表进行排序,TypeError : unorderable types

2025年05月04日13飞鱼

我正在尝试对对象列表进行排序,但收到以下错误:

subredditlist.sort(key=lambda x: x.count) 
  TypeError: unorderable types: builtin_function_or_method() < builtin_function_or_method() 

有问题的代码:

主要.py:

for k, v in smapped.items(): 
     rlist.append(objclist(k, v)) 
 rlist.sort(key=lambda x: x.count) 

其中 subsmapped 是一个字典

对象列表.py:

class objclist: 
    def __init__(self, name, count): 
        self.name = name 
        self.count = count 

请您参考如下方法:

给定

class objclist: 
    def __init__(self, name, count): 
        self.name = name 
        self.count = count 

看起来您创建了此类的实例,将函数作为 count 参数传递给构造函数。

for k, v in smapped.items(): 
     rlist.append(objclist(k, v)) 
 rlist.sort(key=lambda x: x.count) 

看起来 smapped 在其值中包含函数/方法。