[英]Python "AttributeError: 'NoneType' object has no attribute" Error
[英]Python error : AttributeError: 'NoneType' object has no attribute 'len'
我的代码非常简单,但我不知道为什么会引发此错误?
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)
将完成相同的工作。 (并且您不返回中位数)
这里有两个问题:
sort()
方法仅修改列表,而不会返回新列表,因此newnumbers
为None
。 len(newnumbers)
,而不是newnumbers.len()
。 该语法对于查找列表长度不正确。
唯一的变化是len(newnumbers)
这是必需的。 由于没有显示元素,因此没有唯一的排序目的,无论排序如何,长度都将保持不变。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.