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

use*_*310 10 python sorting list

我有一个清单:

         L=[2,0,4,5]
Run Code Online (Sandbox Code Playgroud)

我想创建一个新的列表而不改变L本身:

        K= [0,2,4,5]
Run Code Online (Sandbox Code Playgroud)

但是当我尝试:

       K=L.sort()
       print(K)
Run Code Online (Sandbox Code Playgroud)

它没有打印,如果我尝试:

       print(L)
Run Code Online (Sandbox Code Playgroud)

它出来了:[0,2,4,5]

为什么K不是= [0,2,4,5]?如何创建新列表[0,2,4,5]并且不更改L?

NPE*_*NPE 16

以下将生成一个排序副本L并将其分配给K:

K = sorted(L)
Run Code Online (Sandbox Code Playgroud)

sorted() 是一个内置功能.

原因K = L.sort()不起作用是sort()对列表进行排序,并返回None.这就是L最终被修改并K最终成为现实的原因None.

以下是您可以使用的方法sort():

K = L[:] # make a copy
K.sort()
Run Code Online (Sandbox Code Playgroud)


Pra*_*ota 5

你需要使用内置函数sorted:sorted(L)