🔖

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