pythonでタプルの指定の要素でソートする
タプルの指定の要素でソートする場合は、sortメソッド・sorted関数のkeyを指定します。 ラムダ式とitemgetterで指定する2つの方法があるのでそれぞれ紹介します。
ラムダ式
list = [(1, 'c'), (2, 'b'), (3, 'a')] list.sort(key=lambda tup: tup[1]) # [(3, 'a'), (2, 'b'), (1, 'c')]
sorted関数は以下のようになります
sorted(list, key=lambda tup: tup[1])
itemgetter
from operator import itemgetter list = [(1, 'c'), (2, 'b'), (3, 'a')] list.sort(key=itemgetter(1)) # [(3, 'a'), (2, 'b'), (1, 'c')]
sorted関数は以下のようになります
sorted(list, key=itemgetter(1))
最後に
itemgetterを使用したほうが短く書くことができますね