我的代码很简单,但我不明白为什么会抛出这个错误?
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)
会完成同样的事情。 (并且您没有返回中位数)
