【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]

上記のPythonのコードでは、まず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基礎・実践(Django)

企業・法人向けのPython研修では、基礎から応用まで体系的に学べます。

Python研修の詳細

DX社員研修

企業・法人向けのDX研修では、実務に繋がるリスキリングでITレベルを向上させます。

DX研修の詳細

Javaエンジニア育成研修

企業・法人向けのJavaエンジニア育成研修では、Javaの基礎から応用まで確実に習得できます。

Java研修の詳細

新卒・新入社員向け研修

企業・法人に新入社員・新卒社員に向けたプログラミング研修を提供しています。

新入社員研修の詳細

コードキャンプのIT研修を全て見る

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

【サンプルコード】
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やプログラミングに関するニュース

ブログに戻る

コメントを残す

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

コードキャンプDX人材育成研修 - IT・プログラミングを知って学べるコネクトメディア フューチャーアーキテクト株式会社が実現した新入社員向けIT研修プログラムでタスクフォース制度が主体的な学びと成長を生み出す - IT・プログラミングを知って学べるコネクトメディア コードキャンプDX人材育成研修 - IT・プログラミングを知って学べるコネクトメディア コードキャンプIT・プログラミング研修事例/【IT新入社員研修】オンラインとオフラインの最適バランスを実現したFutureOneの導入事例 - IT・プログラミングを知って学べるコネクトメディア コードキャンプIT・プログラミング研修事例/【新入社員研修】柔軟なハイブリッド型Java研修で実現した新卒20名の成長と成果|サークレイス株式会社 - ITやプログラミングを知って学べるコネクトメディア コードキャンプIT・プログラミング研修事例/現場により近いところにデジタルを根付かせるDX基礎講座研修|株式会社ブリヂストン - ITやプログラミングを知って学べるコネクトメディア コードキャンプIT・プログラミング研修事例/業務の効率化・DX推進に向けたIT人材育成への第一歩|株式会社カナエ - ITやプログラミングを知って学べるコネクトメディア 企業・法人向けのIT・プログラミング研修 - ITやプログラミングを知って学べるコネクトメディア

新着記事

対象者別で探す

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

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

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

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

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

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