keijikk
10/21/2017 - 8:32 AM

python sort

# 昇順ソート
wordList = ["F","A","X"]  #文字列のリスト
numberList = [4,6,2]  #数値のリスト

wordList.sort()
print (wordList)  #出力結果:["A","F","X"]

numberList.sort()
print (numberList)  #出力結果:[
2,4,6]

# 配列を降順にする
wordList = ["F","A","X"]  #文字列のリスト
numberList = [4,6,2]  #数値のリスト

wordList.sort(reverse=True)
print (wordList)  #出力結果:["X","F","A"]

numberList.sort(reverse=True)
print (numberList)  #出力結果:[6,4,2]


# 配列を逆にする
wordList = ["F","A","X"]  #文字列のリスト
numberList = [4,6,2]  #数値のリスト

wordList.reverse()
print (wordList)  #出力結果:["X","A","F"]

numberList.reverse()
print (numberList)  #出力結果:[2,6,4]


# 多次元リストのソート
# このリストをまず1番目の要素で昇順にして、次に2番目の要素で昇順にして
list = [[10,4],[3,6],[4,6],[5,0],[4,9],[2,0]]
list.sort(key=lambda x:x[0])
list.sort(key=lambda x:x[1])


## itemgetterを使用する
from operator import itemgetter
list = [[10,4],[3,6],[4,6],[5,0],[4,9],[2,0]]
list.sort(key=itemgetter(1,0))
print (list)
# [[2, 0], [5, 0], [10, 4], [3, 6], [4, 6], [4, 9]]

list = [[10,4],[3,6],[4,6],[5,0],[4,9],[2,0]]
list.sort(key=itemgetter(0,1))
print (list)
# [[2, 0], [3, 6], [4, 6], [4, 9], [5, 0], [10, 4]]

list = [[10,4],[3,6],[4,6],[5,0],[4,9],[2,0]]
list.sort(key=lambda x:x[0])
list.sort(key=lambda x:x[1])
print (list)
# [[2, 0], [5, 0], [10, 4], [3, 6], [4, 6], [4, 9]]

list = [[10,4],[3,6],[4,6],[5,0],[4,9],[2,0]]
list.sort(key=lambda x:(x[0],x[1]))
print (list)
# [[2, 0], [3, 6], [4, 6], [4, 9], [5, 0], [10, 4]]