Python sort - eiichiromomma/CVMLAB GitHub Wiki
(Python) sort
Listのsort()でソートの練習
※練習なので無駄な事をしている場合もある
単純に数の比較を行なうだけなら
myList.sort()
で良い。
Listの中にListを入れる場合や文字列の特殊な比較の場合は引数を2つ持つ比較関数の定義が必要。 第一引数が小さければ-1, 等しければ0, 第二引数が小さければ1を返すよう定義する。
def myCmp(data1, data2):
要素を比較して値を返す
…
myList.sort(myCmp)
import random
#比較関数 ここでは2つめの要素を比較して 大小の判別
#d1<d2 -> -1, d1==d2 -> 0, d1>d2 -> 1
def myCmp(d1,d2):
if d1[1]<d2[1]:
return -1
else:
return 0
myList = []
#2つめの要素をランダムで生成
for i in range(100):
newData = [i,random.randint(0,5000)]
myList.append(newData)
myList.sort(myCmp)
print u"並び換えの結果"
for item in myList:
print (item)
print ("最大は")
print (myList[99])