为什么object.sort()将None传递给变量?

时间:2015-05-08 22:38:19

标签: python list sorting

我只是学习Python和编程,并遇到了以下问题。我似乎无法找到答案/解释为什么以下声明在作业中传递无。只是想了解。我在下面过于简单化了解并且在我之前调用.sort()之前已经改变了。

before = [67,45,2,13,1,998]

after = before.sort()

print(after)

为什么,当我打印之后是否为无?

1 个答案:

答案 0 :(得分:2)

sort是一个inplace操作,它不会返回一个值,因为所有不返回值的python函数默认返回None,因此您要将after设置为无。

只需call.sort并打印清单:

before = [67,45,2,13,1,998]

before.sort() # inplace sorts original list

print(before)

如果您想要新列表,请使用已排序:

before = [67,45,2,13,1,998]

after = sorted(before) # creates a completely  new list 

print(after)