【发布时间】:2022-01-16 13:10:56
【问题描述】:
我有一个 Python 列表,我想按字母排序。
如果我直接在print() 函数中执行此操作,它会产生“无”,而如果我先对其进行排序然后打印它,它就可以正常工作。这是可重现的代码:
def main():
l = ["Tina", "Alice"]
print(l.sort())
# yields "None"
l.sort()
print(l)
# yields ["Alice", "Tina"]
if __name__ == "__main__":
main()
有人可以向我解释一下 Python 的背景有什么不同吗?在print() 函数中,一些其他操作(如添加数字等)可以正常工作。谢谢!
【问题讨论】:
-
list.sort()返回None,这就是它打印None的原因。但是,它确实对列表进行了排序,因此如果在print(l.sort())之后放置print(l),您将得到排序列表。 -
在向 Stack Overflow 发布问题之前,请阅读未按预期执行的函数的文档,在这种情况下为 sort。
-
感谢@MattDoMo!你是对的@jarmod,阅读更多内容可能也有帮助......