Pythonの組み込み関数であるsorted()
関数の全ての引数、戻り値、具体的な使用例について解説します。

教えてください!ごまおくん!!
今日はsorted()
関数について詳しく教えてください!

sorted()
関数はデータの並び替え、ソートを行うための関数ですね!
具体的なプログラムも見ながら応用方法も詳しく学んでいきましょう!
Pythonにおいて、データの並び替えは頻繁に行われる作業です。
その中で、sorted()
関数は柔軟で強力なソート手法を提供しています。
この記事では、sorted()
関数について詳しく解説し、初心者でも理解しやすいプログラム例を交えて、リストやイテラブルオブジェクトのソート方法を学びます。
sorted()関数の概要
sorted()
関数は、指定されたイテラブルオブジェクト(リスト、タプル、文字列など)を新しいソートされたリストとして返します。
この関数は元のデータを変更せず、新たなソートされたリストを作成します。
sorted()関数の構文
sorted()
関数の基本的な構文は以下の通りです。
sorted(iterable, /, *, key=None, reverse=False)
iterable
: イテラブルなソートしたいオブジェクト。key
(オプション): ソートの際に使用する関数。各要素に対してこの関数が適用され、その結果に基づいてソートが行われる。reverse
(オプション): ソート順序を逆にするかどうかを指定する。デフォルトはFalse
。
sorted()関数の戻り値
sorted()
関数の戻り値は、ソートされた新しいリストです。
元のイテラブルオブジェクトは変更されません。
sorted()関数の例
具体的なプログラム例を通じて、sorted()
関数の基本的な使い方を学びましょう。
# 数値のソート
numbers = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5]
sorted_numbers = sorted(numbers)
print("ソート前:", numbers)
#ソート前: [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5]
print("ソート後:", sorted_numbers)
#ソート後: [1, 1, 2, 3, 3, 4, 5, 5, 5, 6, 9]
# 文字列のソート
words = ["apple", "banana", "orange", "grape", "kiwi"]
sorted_words = sorted(words)
print("ソート前:", words)
#ソート前: ['apple', 'banana', 'orange', 'grape', 'kiwi']
print("ソート後:", sorted_words)
#ソート後: ['apple', 'banana', 'grape', 'kiwi', 'orange']
この例では、数値のリストと文字列のリストをsorted()
関数を用いてソートしています。
sorted()関数の応用
sorted()
関数は引数key
やreverse
を用いることでより柔軟なソートを行えます。
以下はその一例です。
例① keyパラメータの利用
key
パラメータを使用すると、各要素に関数を適用した結果に基づいてソートできます。
# 文字列を長さに基づいてソート
words = ["apple", "banana", "orange", "grape", "kiwi"]
sorted_words_by_length = sorted(words, key=len)
print("ソート前:", words)
#ソート前: ['apple', 'banana', 'orange', 'grape', 'kiwi']
print("長さに基づいてソート後:", sorted_words_by_length)
#長さに基づいてソート後: ['kiwi', 'apple', 'grape', 'banana', 'orange']
この例では、key=len
を指定することで、各文字列の長さに基づいてソートしています。
例② 逆順でソート
reverse
パラメータを使用すると、逆順でソートできます。
# 逆順でソート
numbers = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5]
reverse_sorted_numbers = sorted(numbers, reverse=True)
print("ソート前:", numbers)
#ソート前: [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5]
print("逆順でソート後:", reverse_sorted_numbers)
#逆順でソート後: [9, 6, 5, 5, 5, 4, 3, 3, 2, 1, 1]
この例では、reverse=True
を指定することで、降順でソートしています。
例③ ユーザー定義のソート基準
key
パラメータにユーザーが定義した関数を渡すことで、独自のソート基準を指定できます。
# 各文字列を逆順にした後でソート
words = ["apples", "banana", "orange", "kiwi"]
reverse_sorted_words = sorted(words, key=lambda x: x[::-1])
print("ソート前:", words)
#ソート前: ['apples', 'banana', 'orange', 'kiwi']
print("各文字列を逆順にした後でソート:", reverse_sorted_words)
#各文字列を逆順にした後でソート: ['banana', 'orange', 'kiwi', 'apples']
この例では、各文字列を逆順にする関数をkey
として指定しています。

関数について詳しく理解できました!sorted()
特にkeyの引数を上手く使えば様々な場面で色々なソートができそうです!

上手く理解できたようで良かったです!
ソートは文章を取り扱う処理からシステム開発まで様々な場面で使うことになると思います!
上手く使えば短い行数で自由にソートできますので、使いながら慣れていきましょう!
まとめ
この記事では、Pythonのsorted()
関数について解説しました。sorted()
関数はシンプルでありながら非常に柔軟で、様々なソートニーズに対応できます。
初心者向けのプログラム例を通じて、基本的な使い方から応用的な利用法まで学びました。
データを効果的に整理し、必要に応じてソートすることはプログラミングにおいて不可欠なスキルであり、sorted()
関数はその中でも重要なツールの一つです。
このサイトの記事一覧へは以下へアクセス!
コメント