我有一个名为getListBackward(number)的函数,其中number是一个列表。 我创建了一个名为reversedNumbers = number.reverse()的变量,但它说 AttributeError:'NoneType'对象没有属性'reverse'。我为什么选择无类型?感谢。
def getListBackward(number):
reversedNumbers = number.reverse()
AttributeError: 'NoneType' object has no attribute 'reverse'
EDIT:
What did I do wrong?
答案 0 :(得分:0)
您收到AttributeError
,因为number
的类型为None
。无论你传递getListBackward
是什么,实际上都是None
。从函数的名称,我愿意打赌你的代码看起来像:
lst = [ ... ] # some list of data
getListBackward(lst.sort())
如果是这种情况,那是因为lst.sort()
是就地功能,可以对lst
进行排序并返回None
。换句话说:
lst = [3, 1, 2]
lst.sort() # returns None
print(lst) # [1, 2, 3]
与未就地的sorted(lst)
对比,因此它不会修改原始lst
,但它会返回列表的已排序副本
lst = [3, 1, 2]
sorted(lst) # [1, 2, 3]
print(lst) # [3, 1, 2]