【Python】リスト(list)並び替えを任意の基準で行う方法

【Python】リスト(list)並び替えを任意の基準で行う方法

公開: 更新:


基本的なリストの並び替え方法

【サンプルコード】
my_list = [3, 1, 4, 1, 5, 9, 2]
my_list.sort()
print(my_list)
【実行結果】
[1, 1, 2, 3, 4, 5, 9]

上記の例では、まずmy_listという名前のリストを作成しています。my_listには整数のリスト「[3, 1, 4, 1, 5, 9, 2]」が格納されています。このリストの要素はランダムな順序で配置されており、並び替えが必要な状態です。

次に、my_list.sort()というメソッドを使用してリストを昇順に並び替えています。sort()メソッドは、リストの要素を小さい順に並び替える機能を持っています。このメソッドはリスト自体を変更するので、並び替え後のリストはmy_listに直接反映されます。

最後に、print(my_list)を使用して並び替えられたリストを表示しています。実行結果として、元のリストが昇順に並び替えられた状態「[1, 1, 2, 3, 4, 5, 9]」が出力されています。

「Python」を学べるコードキャンプのサービス

任意の基準でリストを並び替える

【サンプルコード】
def my_func(e):
  return e['age']
people = [{'name': 'Alice', 'age': 30}, {'name': 'Bob', 'age': 25}, {'name': 'Charlie', 'age': 35}]
people.sort(key=my_func)
print(people)
【実行結果】
[{'name': 'Bob', 'age': 25}, {'name': 'Alice', 'age': 30}, {'name': 'Charlie', 'age': 35}]

上記のサンプルコードでは、辞書型の要素を持つリストを年齢で並び替えています。

まず、my_funcという関数を定義しており、この関数は辞書の'age'キーの値を返します。

次に、peopleというリストを作成し、名前と年齢を持つ辞書型の要素を格納しています。このリストの要素は年齢で並び替える必要があります。

people.sort(key=my_func)とすることで、my_func関数を基準としてリストの要素を並び替えます。

sort()メソッドのkeyパラメータに関数を指定することで、その関数の返り値に基づいて要素を並び替えることができます。この場合、各辞書の'age'キーの値によってリストが並び替えられます。

最後に、並び替えられたリストをprint関数で表示しています。結果として、「Bob」、「Alice」、「Charlie」という順番で年齢が若い順に並んでいることがわかります。

lambda関数を使用したリストの並び替え

【サンプルコード】
points = [(1, 2), (3, 3), (1, 1)]
points.sort(key=lambda x: x[1])
print(points)
【実行結果】
[(1, 1), (1, 2), (3, 3)]

この例では、タプルを要素とするリストを特定の条件で並び替えています。

pointsという名前のリストに、座標を表すタプルが格納されています。このリストの各要素はタプルで、それぞれのタプルは(x, y)の形式で座標を表しています。ここでは、y座標に基づいてリストの要素を並び替えることを目指しています。

points.sort(key=lambda x: x[1])とすることで、lambda関数を使用して各タプルのy座標に基づいた並び替えを行います。lambda関数は、簡易的な無名関数を作成するのに便利です。この場合、lambda x: x[1]は各タプルの2番目の要素(y座標)を返す関数として機能します。

最後に、並び替えられたリストをprint関数で表示しています。結果として、y座標が小さい順に並び替えられたリスト「[(1, 1), (1, 2), (3, 3)]」が出力されています。

※上記コンテンツの内容やソースコードはAIで確認・デバッグしておりますが、間違いやエラー、脆弱性などがある場合は、コメントよりご報告いただけますと幸いです。

ITやプログラミングに関するコラム


ITやプログラミングに関するニュース

ブログに戻る

コメントを残す

コメントは公開前に承認される必要があることにご注意ください。

コードキャンプIT・プログラミング研修事例/現場により近いところにデジタルを根付かせるDX基礎講座研修|株式会社ブリヂストン - ITやプログラミングを知って学べるコネクトメディア コードキャンプIT・プログラミング研修事例/業務の効率化・DX推進に向けたIT人材育成への第一歩|株式会社カナエ - ITやプログラミングを知って学べるコネクトメディア 企業・法人向けのIT・プログラミング研修 - ITやプログラミングを知って学べるコネクトメディア 中途採用者向けのIT・プログラミング研修 - IT・プログラミングを知って学べるコネクトメディア

新着記事

対象者別で探す

子供(小学生・中学生・高校生)向け
プログラミング教室検索する

子供(小学生・中学生・高校生)がロボットやプログラミング言語を学ぶことができるオフラインからオンラインスクールを検索、比較することが可能です。

子供(小学生・中学生・高校生)
プログラミング教室検索する

ITやプログラムなどの
最新情報を検索する

日々、新しいITやプログラミング言語の情報が流れていきますが、特定の情報を時系列でニュースやコラムを確認することができます。

ITやプログラムなどの
最新情報を検索する