Skip to main content
 首页 » 编程设计

Python 错误 : AttributeError: 'NoneType' object has no attribute 'len'

2025年05月04日13mfryf

我的代码很简单,但我不明白为什么会抛出这个错误?

def median(numbers): 
     newnumbers = numbers.sort() 
     length = newnumbers.len() 
     print length 
 
median([4,6,1]) 

我在网上和 SO 上搜索过,len() 是获取列表长度的正确方法。但是,我不断收到错误消息“AttributeError:‘NoneType’对象没有属性‘len’”

我在这里做错了什么?谢谢!

请您参考如下方法:

numbers.sort() 就地工作 - 它改变数字,但返回 None,所以这就是 newnumbers 包含的内容。 您应该使用 newnumbers = sorted(numbers),这将解决异常。

但是,请注意排序不是必需的,因为您只是返回输入列表的长度。所以:

def median(numbers): 
    print len(numbers) 

会完成同样的事情。 (并且您没有返回中位数)