![](/img/trans.png)
[英]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.