print(['at', 'from', 'hello', 'hi', 'there', 'this'].sort())
返回
None
1:https://thispointer.com/python-how-to-sort-a-list-of-strings-list-sort-tutorial-examples/
2:How to sort a list of strings?
我看到了两个例子,但是为什么不起作用?
答案 0 :(得分:2)
sort()
没有返回值,因此它返回默认值None
。它会修改原始列表,因此您需要在列表名称上使用它
l = ['at', 'from', 'hello', 'hi', 'there', 'this']
l.sort()
print(l)
如果您不想修改列表,则可以使用sorted()
l = ['at', 'from', 'this', 'there', 'hello', 'hi']
print(sorted(l)) # prints sorted list ['at', 'from', 'hello', 'hi', 'there', 'this']
print(l) # prints the original ['at', 'from', 'this', 'there', 'hello', 'hi']
答案 1 :(得分:0)
我认为这与功能sort()
及其工作位置有关。 sort()
仅对可变数据类型起作用,该数据类型必须是列表或类似的东西。它没有返回值,它仅修改数据类型。这就是为什么它将返回经过排序的列表的原因,因为该列表已通过sort()
函数传递。当您运行该程序时:
>>> i = ['at', 'from', 'hello', 'hi', 'there', 'this']
>>> i.sort()
>>> print(i)
['at', 'from', 'hello', 'hi', 'there', 'this']
>>>
由于sort()
函数正在被调用到一个变量,所以它工作正常。