Pythonでリストをソートする方法は?
Pythonでリストをソートする方法はいくつかあって、とっても便利だよ!
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]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]もっと複雑な並べ替えをしたいときは、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のリストソート、こんな感じで色々な方法があって、やりたいことに合わせて選べるのが嬉しいよね!
このチャットはプライベートです。投稿者のみがメッセージを送信できます。
チャット内容の閲覧は可能です。
48 件のコメント