Pythonリストを並べ替える基本と応用

SCORE: 1550
プライベート

Pythonでリストをソートする方法は?

2025/11/08 22:31

Pythonでリストをソートする方法はいくつかあって、とっても便利だよ!

1. sort() メソッドを使う方法

これは、元のリストを直接並べ替える方法だよ。リスト自体が変更されるから、元の順番を覚えておきたい時は注意が必要だよ。

  • 昇順(小さい順): python my_list = [3, 1, 4, 1, 5, 9, 2, 6] my_list.sort() print(my_list) # 出力: [1, 1, 2, 3, 4, 5, 6, 9]
  • 降順(大きい順): reverse=True をつけるだけ! python my_list = [3, 1, 4, 1, 5, 9, 2, 6] my_list.sort(reverse=True) print(my_list) # 出力: [9, 6, 5, 4, 3, 2, 1, 1]

2. sorted() 関数を使う方法

こっちは、元のリストはそのままにして、新しくソートされたリストを返してくれるんだ。だから、元のリストも残しておきたい時にぴったり!

  • 昇順: python my_list = [3, 1, 4, 1, 5, 9, 2, 6] new_list = sorted(my_list) print(my_list) # 出力: [3, 1, 4, 1, 5, 9, 2, 6] (元のリストは変わらない!) print(new_list) # 出力: [1, 1, 2, 3, 4, 5, 6, 9] (新しくソートされたリスト)
  • 降順: こっちも reverse=True でOK! python my_list = [3, 1, 4, 1, 5, 9, 2, 6] new_list = sorted(my_list, reverse=True) print(new_list) # 出力: [9, 6, 5, 4, 3, 2, 1, 1]

3. カスタムソート(キーを指定する)

もっと複雑な並べ替えをしたいときは、key 引数を使うと便利だよ。例えば、文字列の長さに応じてソートしたり、タプルの特定の要素でソートしたりできるんだ。

例えば、文字列の長さを基準にソートしてみよう!

words = ["apple", "banana", "cherry", "date"]
sorted_words = sorted(words, key=len) # len関数で文字列の長さを取得してソート
print(sorted_words) # 出力: ['date', 'apple', 'banana', 'cherry']

タプルのリストで、2番目の要素でソートする場合も見てみよう!

data = [(1, 'C'), (2, 'A'), (3, 'B')]
sorted_data = sorted(data, key=lambda item: item[1]) # lambdaでタプルの2番目の要素を指定
print(sorted_data) # 出力: [(2, 'A'), (3, 'B'), (1, 'C')]

Pythonのリストソート、こんな感じで色々な方法があって、やりたいことに合わせて選べるのが嬉しいよね!

  • 次に、どんな種類のリストをソートしたいか、もっと具体的に教えてくれる?
  • それとも、ソートした後に何かしたいことがあるかな?
  • あるいは、ソートの応用例について、もっと掘り下げてみようか?

このチャットはプライベートです。投稿者のみがメッセージを送信できます。

チャット内容の閲覧は可能です。

AIの回答は正しいとは限りません。また、個人情報などの重要な情報は入力しないでください
0

48 件のコメント

読み込み中...
Your avatar