Nonetype属性?

时间:2015-05-04 22:45:51

标签: python

我有一个名为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?

1 个答案:

答案 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]