[Python] リスト内の要素をソート | “.sort” の使い方

 

リストを作成する方法につてはこちら.

 

今回説明する.sortは,list()で使える,いくつかあるメソッドのうちの一つ.

 

list()はリストを作成するための関数.

 

メソッド.sortを使うと,リスト内の要素をソートすることができます.

 

ソートというのは,配列をある規則で並び替えるということです.

 

[3,5,2,1]という配列を小さい値から順に並べる場合を“昇順”にソートするといい,[1,2,3,5]となります.

 

また[3,5,2,1]という配列を大きい値から順に並べる場合を“降順”にソートするといい,[5,3,2,1]となります.

 

リストの順番を並び替えたいときは結構あるので,覚えておくと良いでしょう.

 

 

1. メソッド.sortの使い方

 

以下の4通りの使い方があります.

 

  • list.sort():リストを昇順に並び替えます.

 

 

  • list.sort(reverse=B):リストを降順に並べ替えるか,昇順に並べ替えるかを設定することができます.

[Bのとり得る値]

B:True (降順に並べ替え)

B:False (昇順に並べ替え)

 

  • list.sort(key=A, reverse=B):keyパラメータとreverseパラメータを同時に設定することができます.

 

簡単ですね.

 

keyパラメータについて

 

keyパラメータというのは,リストの並び替えが行われる際に,リストの各要素に対して呼び出される関数を指定するパラメータです.

 

はて.なんのこっちゃわかりませんね.大丈夫です.

 

話は簡単で,リストに並んでいる要素の一つずつに対して,並び替えの際に何かしらの処理を施すということです.

 

例えば以下の例を見てみましょう.

 

例:大文字小文字を区別せずに文字列を並び替える

 

例えば以下のようなリストがあるとします.

 

A = ['a','D','G','c','B','d','f','E']

 

このリストを並び替えたい場合,どうしましょう.

 

試しに何も考えずに.sort(引数)の引数を指定せずに並び替えてみましょう.

 

 

いかがでしょうか.最初に大文字が並び替えられて,その次に小文字が並び替えられていますね.

大文字と小文字が区別されて並び替えられています.

 

それでは大文字と小文字を区別せずに並び替えたい場合,どのようにしたらよいでしょうか.

 

結論から言うと,すべて小文字にして並べ替えたらいいんです.

 

pythonには大文字を小文字に変換する関数が用意されています.

 

strという関数で.lowerというメソッドが使えるのですが,この組み合わせで大文字を小文字に変換することができます.

 

 

はい.そして,この変換をリストの各要素ごとに行いソートすると,大文字と小文字を区別せずに変換することができます.

 

この各要素ごとの変換を実現するために利用するのが,何を隠そうkeyパラメータというやつです.

 

具体的にどうするかというと,key='施したい処理'とします.

 

今回の場合は,key=str.lowerとします.


大文字と小文字を区別せずに並び替えることができましたね.

 

2. メソッド.countを用いて実際にプログラムを作ってみる

 

それでは実際にプログラムを作成し,実行してみましょう.

 

 

いかがでしょうか.

 

3. まとめ

 

リストを作成する関数list()に対して使用するメソッド.sortについてご紹介しました.

 

メソッド.sortを使うと,リストの中の要素を並び替えることができます.

 

関数list()を使う上で頻繁に使う機能なので覚えておくと良いでしょう.

 

もし何かわからないことがあれば,以下のコメント欄でご質問ください.

 

Have a good Python life 🙂

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です