【Python入門】リストの要素を降順に並べ替える方法をわかりやすく解説
Pythonでは、リスト(配列)の要素を降順に並べ替えたい場合、sort()メソッドを使い、引数reverseにTrueを指定するだけで簡単に実現できます。
サンプルコード
my_list = [44, 56, 42, 31, 11, 23, 78, 89, 9, 0]
print("元のリスト:")
print(my_list)
my_list.sort(reverse = True)
print("降順にソートした後のリスト:")
print(my_list)
実行結果
元のリスト: [44, 56, 42, 31, 11, 23, 78, 89, 9, 0] 降順にソートした後のリスト: [89, 78, 56, 44, 42, 31, 23, 11, 9, 0]
コードの解説
まず、整数の要素を持つリストを定義し、その内容をコンソールに表示します。
次に、リストに対して
sort()メソッドを呼び出します。このとき、引数
reverseにTrueを指定することで、降順(大きい値から小さい値へ)の並べ替えが有効になります。sort()メソッドは元のリスト自体を直接書き換える「インプレース操作」である点に注意してください。最後に、並べ替えられた結果をコンソールに出力します。
補足:元のリストを変更せずにソートしたい場合
元のリストをそのまま保持しておきたい場合は、組み込み関数のsorted()を使うのがおすすめです。sorted()は新しいリストを返すため、元のデータは変更されません。
new_list = sorted(my_list, reverse = True) print(new_list) # [89, 78, 56, 44, 42, 31, 23, 11, 9, 0]
状況に応じてsort()とsorted()を使い分けることで、より安全で読みやすいコードを書くことができます。
-
Pythonでサブリストの2番目の要素に基づいてリストをソートする方法
リストが与えられたとき、そのサブリストの2番目の要素に基づいてリスト全体をソートするのが本記事の課題です。ここでは、最も基本的なソートアルゴリズムであるバブルソートを使って実装していきます。 実行例 入力 [[CCC, 15], [AAA, 10], [RRRR, 2],[XXXX, 150]] 出力 [[RRRR, 2], [AAA, 10], [CCC, 15], [XXXX, 150]] アルゴリズムの手順 ステップ1: リストを受け取る。 ステップ2: ネストされたループを使って、サブリストの2番目の要素にアクセスする。 ステップ3: 配列のすべての要素を走査する。 ステップ4:
-
要素の長さに基づいてリストをソートするPythonプログラム
この記事では、ユーザーが入力したリストを、各要素の長さ(文字数)に基づいてソートする方法を解説します。Pythonには標準で用意されている組み込み関数 sorted() を使うことで、シンプルなコードで実現できます。 例 入力::[mona,pp,aaa] それぞれの長さは [4,2,3] したがって、ソート後の並び順は [2,3,4] 出力::[pp,aaa,mona] アルゴリズム ステップ1: リストの要素を入力する。 ステップ2: sorted(A, key=len) 関数を適用する。 サンプルコード # リストをソートする def sortedlist(A): ne