创建新列表而不更改原始列表

时间:2012-11-26 21:33:26

标签: python list sorting

我有一个清单:

         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?

2 个答案:

答案 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)

您需要使用内置函数sortedsorted(L)