🔖
sorted(args, key=lambda x: x[0])について
1. 文字列リストのソート
以下の例では、words
リスト内の各文字列の 1文字目 (x[0]
) を基準にしてソートを行う:
words = ["banana", "apple", "cherry"]
sorted_words = sorted(words, key=lambda x: x[0])
print(sorted_words) # 出力: ['apple', 'banana', 'cherry']
-
lambda x: x[0]
のx
は"banana"
,"apple"
,"cherry"
が順に渡される。 -
x[0]
はそれぞれ'b'
,'a'
,'c'
となる。 - ソート順序は
a, b, c
となるため、結果は['apple', 'banana', 'cherry']
となる。
2. タプルのリストのソート
次の例では、data
リスト内の各タプルの 0番目の要素 (x[0]
) を基準にしてソートを行う:
data = [(3, 'apple'), (1, 'banana'), (2, 'cherry')]
sorted_data = sorted(data, key=lambda x: x[0])
print(sorted_data) # 出力: [(1, 'banana'), (2, 'cherry'), (3, 'apple')]
-
lambda x: x[0]
のx
は(3, 'apple')
,(1, 'banana')
,(2, 'cherry')
が順に渡される。 -
x[0]
はそれぞれ3
,1
,2
となる。 - ソート順序は
1, 2, 3
となるため、結果は[(1, 'banana'), (2, 'cherry'), (3, 'apple')]
となる。
まとめ
-
key=lambda x: x[0]
は各要素の 0 番目の要素を基準にソートする。 - リスト内の要素が文字列の場合は 1文字目、タプルの場合は 最初の項目 を基準にしてソートされる。
Discussion