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を使用したほうが短く書くことができますね