Pythonにおけるsortとsorted関数コードの解析

1479 ワード

本論文では,Pythonにおけるsortとsorted関数に関する主な研究内容を以下に示す.
一、sort関数
sort関数はシーケンスの内部関数です
関数のプロトタイプ:L.sort(cmp=None, key=None, reverse=False)
関数の役割:
これは、Lをその場でソートすることです.つまり、使用後、秩序化されたシーケンスのコピーを返すのではなく、現在のシーケンスを秩序化することです.
パラメータの説明:
(1)cmpパラメータ
cmpは1つの関数を受け入れて、整形を例に取って、形式は:

def f(a,b):
   return a-b

ソートされた要素が他のタイプの場合、a論理がbより小さい場合、関数は負の数を返します.a論理はbに等しく、関数は0を返す.a論理がbより大きい場合、関数は正数を返せばよい
(2)keyパラメータ
keyも1つの関数を受け入れて、異なって、この関数は1つの要素だけを受け入れて、形式は以下の通りです

def f(a):
   return len(a)

keyが受け入れる関数は値を返し、この要素の重み値を表し、sortは重み値の大きさでソートされます.
(3)reverseパラメータ
FalseまたはTrueを受け入れて逆順を表すかどうか
sortの例:
(1)要素長で並べ替える

L = [{1:5,3:4},{1:3,6:3},{1:1,2:4,5:6},{1:9}]
def f(x):
  return len(x)
sort(key=f)
print L

出力:

[{1: 9}, {1: 5, 3: 4}, {1: 3, 6: 3}, {1: 1, 2: 4, 5: 6}]

(2)辞書要素ごとにkeyが1の要素の値で並べ替える

L = [{1:5,3:4},{1:3,6:3},{1:1,2:4,5:6},{1:9}]
def f2(a,b):
  return a[1]-b[1]
L.sort(cmp=f2)
print L

出力:

[{1: 1, 2: 4, 5: 6}, {1: 3, 6: 3}, {1: 5, 3: 4}, {1: 9}]

二、sorted関数
sorted関数は組み込み関数で、彼はシーケンスを受け入れて、秩序のあるコピーを返します.
彼とsortの唯一の違いはコピーを返すことです
まとめ
以上がPython sort sorted関数コード解析のすべてであり,皆さんの役に立つことを願っている.興味のある方は引き続き当駅の他の関連テーマを参照することができます.不足点があれば、伝言を歓迎します.友达の本駅に対する支持に感谢します!