score_list = [98, 220, 201, 145, 180] → リストを作成する
sorted_score = sorted(score_list)
print(sorted_score) →98から始まるように表示される。
文字列は?
sorted(member) →これでアルファベット順にソートされる
文字をあいうえお順に並べ替える
word = ‘たけやぶやけた’
words = list(word) →list(文字列):文字列を1文字ずつリストに分けます。
sorted_words = sorted(words) sortedはリストのみに使える。
print(sorted_words)
昇順 or 降順にするには
昇順 sorted_score =sorted(score_list,reverse=False)
降順 sorted_score =sorted(score_list,reverse=True) これを入れる
list_score = [["japanese",85], ["math",73], ["society",98], ["science",94], ["english",87]]
print(sorted(list_score, key=lambda x:x[0]))
print(sorted(list_score, key=lambda x:x[1], reverse=True))
[['english', 87], ['japanese', 85], ['math', 73], ['science', 94], ['society', 98]] [['society', 98], ['science', 94], ['english', 87], ['japanese', 85], ['math', 73]]
解説
- キーになる要素を指定してソートする方法:sorted(リスト名, key=lambda x:x[keyにしたいインデックス])
補足:lambdaは無名関数と呼ばれている。しかし、公式に推奨されていない書き方なのでここでは詳しく説明しない。
- lambdaを使わなくても書くことができる
def func(x): return x[1]
print(sorted(list_score, key=func, reverse=True))
- 頭の片隅に入れておくと役に立つ時が来るはずだ!
コメント