Python
 Computer >> コンピューター >  >> プログラミング >> Python

【Python】リストを一の位の数字で並べ替える方法

Pythonでリストの要素を「一の位の数字」に基づいて並べ替えたい場合があります。そのようなときは、1つの引数を受け取る関数を定義し、文字列(str)への変換と負のインデックス(マイナスの添字)を組み合わせることで、簡単に実現できます。

サンプルコード

以下に具体的な実装例を示します。

def unit_sort(element):
   return str(element)[-1]

my_list = [716, 134, 343, 24742]

print("The list is :")
print(my_list)

my_list.sort(key=unit_sort)

print("The result is :")
print(my_list)

実行結果

The list is :
[716, 134, 343, 24742]
The result is :
[24742, 343, 134, 716]

コードの解説

  • unit_sort という名前の関数を定義します。この関数はリストの要素を引数として受け取り、str() で文字列に変換したうえで、[-1] によって最後の文字(つまり一の位の数字)を返します。

  • 並べ替え対象となるリストを定義し、まず元の状態をコンソールに表示します。

  • リストの sort メソッドを呼び出し、key 引数に先ほど定義した unit_sort 関数を指定します。これにより、各要素は一の位の数字の順序(0〜9)に従って並べ替えられます。

  • 最後に、並べ替え後のリストをコンソールに出力して完了です。

ポイント

負のインデックス [-1] は、文字列やリストの末尾の要素を取得する便利な記法です。数値をそのまま比較するのではなく、一度文字列化して末尾の桁を取り出すことで、「一の位でのソート」という特殊な条件を実現しています。なお、元のリストを変更せずに新しいリストとして結果を得たい場合は、sorted(my_list, key=unit_sort) を使う方法もあります。

  1. Pythonで文字列のリストをソートする方法【sort()とsorted()の使い方】

    このチュートリアルでは、Pythonで文字列のリストをソートする方法を解説します。リストのsort()メソッドと組み込み関数sorted()を使った基本的な並べ替えに加え、文字数や数値など、さまざまな条件に基づいたソートの方法まで詳しく見ていきましょう。 sort()メソッドで昇順にソートする まずは、list.sort()メソッドを使った基本的なソート方法です。sort()メソッドは元のリストを直接書き換える(インプレースでソートする)点が特徴です。それではコードを見てみましょう。 サンプルコード # 文字列のリスト strings = [Python, C, Java, Javascrip

  2. Pythonで文字列のリストを並べ替える方法:sort()とsorted()の使い分け

    Pythonでは、文字列のリストを並べ替える方法が2つ用意されています。リスト自体を直接変更するsort()メソッドと、元のリストを保持したまま新しい並べ替え済みリストを作成するsorted()関数です。それぞれの特徴と使い方を解説します。 sort()メソッドでリストをその場で並べ替える sort()は、リストそのものを並べ替える「in-place(破壊的)」な操作です。元のリストの順序が直接変更されるため、戻り値を受け取る必要はありません。 >>> a = [Hello, My, Followers] >>> a.sort() >>>