我只是学习Python和编程,并遇到了以下问题。我似乎无法找到答案/解释为什么以下声明在作业中传递无。只是想了解。我在下面过于简单化了解并且在我之前调用.sort()之前已经改变了。
before = [67,45,2,13,1,998]
after = before.sort()
print(after)
为什么,当我打印之后是否为无?
答案 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)