我开始学习Python。
有人能解释为什么sort()会返回None吗?
alist.sort() ## correct
alist = blist.sort() ## NO incorrect, sort() returns None
为什么不应该
alist = blist.sort()
返回已排序的列表并将其返回给alist?这对我没有意义。
感谢。
答案 0 :(得分:10)
alist.sort()
就地alist
排序,修改alist
本身。
如果要在某处指定新列表,请使用blist = sorted(alist)
答案 1 :(得分:1)
回答他的问题,它返回none,因为该方法总是返回None。当您使用它时,它会自动修改列表,因此它不会保持原始原样(即它不会返回列表的已排序副本)。
答案 2 :(得分:0)
使用以下内容:
alist = sorted(blist)
答案 3 :(得分:0)
如果要在同一列表中执行排序,则必须使用sort()
列表方法。但是,如果您不想更改原始列表的序列,但需要原始列表的排序副本,请使用sorted()
内置函数。