Python でリストを降順で並べ替える
このチュートリアルでは、Python でリストを降順で並べ替える方法を示します。
Python で sort()
メソッドを使用してリストを降順で並べ替える
Python には、sort()
と呼ばれる組み込み関数があります。この関数は、デフォルトでリストを昇順で並べ替えます。このメソッドは、指定されたリストの内容を単純にソートします。必須のパラメーターはありませんが、オプションのパラメーターがあります。
key
- 多次元配列内でソートされるインデックスまたは位置を決定します。reverse
-True
の場合、リストは降順でソートされます。
このメソッドがパラメーターの有無にかかわらずリストをどのようにソートするかを見てみましょう。
- パラメータなし:
colors = ["pink", "blue", "black", "white"]
colors.sort()
print(colors)
出力:
['black', 'blue', 'pink', 'white']
リストは、単一文字に対応する整数である ASCII 値に基づいて文字列を並べ替えます。比較する両方の文字列の ASCII 値が同じである場合、比較するものがなくなるまで、両方の文字列の次の文字の比較に進みます。
reverse
パラメーターの使用:
colors = ["pink", "blue", "black", "white"]
colors.sort(reverse=True)
print(colors)
出力:
['white', 'pink', 'blue', 'black']
reverse
パラメータを True
に設定すると、リストが降順で並べ替えられます。
整数と浮動小数点数の並べ替えは、どちらが大きいか小さいかに基づいて並べ替えられます。別の例で試してみましょう。今回は整数と小数を降順で並べ替えます。
numbers = [55, 6, -0.05, 0.07, 2.5, -7, 2.99, 101, 0.78]
numbers.sort(reverse=True)
print(numbers)
出力:
[101, 55, 6, 2.99, 2.5, 0.78, 0.07, -0.05, -7]
出力から、sort()
関数を使用して数値をソートすると、負の数だけでなく小数も記録されます。
このタイプの並べ替えは、YYYY-MM-DD HH:MM:SS
のような形式の日付でも機能します。これを証明する例として、タイムスタンプのリストを使用してみましょう。
timestamps = [
"2021-04-15 09:08:30",
"2021-04-14 08:09:38",
"2021-04-18 12:10:52",
"2021-04-21 23:39:22",
"2021-04-13 14:40:22",
"2021-04-14 13:59:46",
"2021-04-15 19:22:37",
"2021-04-18 07:00:58",
"2021-04-17 04:01:50",
"2021-04-22 01:17:13",
"2021-04-25 24:22:13",
"2021-04-14 25:36:38",
]
timestamps.sort(reverse=True)
print(timestamps)
出力:
['2021-04-25 24:22:13', '2021-04-22 01:17:13', '2021-04-21 23:39:22', '2021-04-18 12:10:52', '2021-04-18 07:00:58', '2021-04-17 04:01:50', '2021-04-15 19:22:37', '2021-04-15 09:08:30', '2021-04-14 25:36:38', '2021-04-14 13:59:46', '2021-04-14 08:09:38', '2021-04-13 14:40:22']
出力が降順で正常にソートされていることを確認し、reverse
パラメーターを指定した sort()
関数を使用してタイムスタンプも正しくソートできることを確認します。
要約すると、組み込みの sort()
関数を使用し、reverse
パラメーターを True
に設定すると、Python リストを降順で並べ替えることができます。
Skilled in Python, Java, Spring Boot, AngularJS, and Agile Methodologies. Strong engineering professional with a passion for development and always seeking opportunities for personal and career growth. A Technical Writer writing about comprehensive how-to articles, environment set-ups, and technical walkthroughs. Specializes in writing Python, Java, Spring, and SQL articles.
LinkedIn