我有一个清单:
L=[2,0,4,5]
我想在不改变L本身的情况下创建一个新列表:
K= [0,2,4,5]
但是当我尝试时:
K=L.sort()
print(K)
它没有打印,如果我尝试:
print(L)
它出来了:
[0,2,4,5]
为什么K不是= [0,2,4,5]?如何创建新列表[0,2,4,5]并且不要更改L?
答案 0 :(得分:16)
以下内容将制作L
的已排序副本,并将其分配给K
:
K = sorted(L)
sorted()
是内置函数。
K = L.sort()
不起作用的原因是sort()
对列表进行排序,然后返回None
。这就是L
最终被修改,K
最终成为None
的原因。
以下是使用sort()
的方法:
K = L[:] # make a copy
K.sort()
答案 1 :(得分:5)
您需要使用内置函数sorted
:sorted(L)