Python错误:AttributeError:'NoneType'对象没有属性'len'

Vis*_*hal 1 python

我的代码非常简单,但我无法弄清楚为什么会抛出这个错误?

def median(numbers):
     newnumbers = numbers.sort()
     length = newnumbers.len()
     print length

median([4,6,1])
Run Code Online (Sandbox Code Playgroud)

我在网上搜索,也搜索SO和len()是获取列表长度的正确方法.但是,我一直收到错误"AttributeError:'NoneType'对象没有属性'len'"

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

Kor*_*rem 6

numbers.sort()适当的地方 - 它改变数字,但返回None,所以这是newnumbers包含的.你应该使用newnumbers = sorted(numbers),这将解决异常.

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

def median(numbers):
    print len(numbers)
Run Code Online (Sandbox Code Playgroud)

会完成同样的事情.(而你没有返回中位数)