13

私はリストを持っています:

         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を変更しないようにするにはどうすればよいですか?

4

2 に答える 2

20

以下は、 のソートされたコピーを作成しL、 に割り当てますK

K = sorted(L)

sorted()組み込み関数です。

K = L.sort()機能しない理由は、リストをその場sort()でソートし、 を返すことです。これが、変更されて終了する理由です。NoneLKNone

使用方法は次のsort()とおりです。

K = L[:] # make a copy
K.sort()
于 2012-11-26T21:34:34.293 に答える
5

組み込み関数を使用する必要がありますsortedsorted(L)

于 2012-11-26T21:34:28.097 に答える