【Python】リストの要素を並び替える方法を複数紹介!

こんにちは!

リストを並び替える方法がたくさんあることを知っていますか?

今回の記事では、リストの要素を並び替える以下の方法を紹介します。

  • リストの要素を大きさ順で並び替える方法
  • リストの要素を逆順で並び替える方法
  • リストの要素をランダムに並び替える方法
  • リストの要素をソートの条件を指定して並び替える方法

リストの要素を昇順・降順に並び替える

「sort()」を使うことで、リストの要素を大きさ順で並べ替えることができます。

リスト.sort()

昇順にソート

以下のプログラムは、リストの要素を昇順にソートするプログラムです。

list = [4, 1, 5, 6, 3, 2]
list.sort()
print(list)

実行結果

[1, 2, 3, 4, 5, 6]

降順にソート

「reverse=True」とすることで、降順にソートすることができます。

以下のプログラムは、リストの要素を降順にソートするプログラムです。

list = [4, 1, 5, 6, 3, 2]
list.sort(reverse=True)
print(list)

実行結果

[6, 5, 4, 3, 2, 1]

文字列をソート

文字列の要素があるリストに「sort()」を行うと、アルファベット順に並び替えることができます。

list = ["e", "b", "a", "f", "c", "d"]
list.sort()
print(list)

実行結果

['a', 'b', 'c', 'd', 'e', 'f']
大文字と小文字が混ざっているリストでは、大文字が先に並び替えられます。

例)

list = ["A", "b", "c", "C", "a", "B"]
list.sort()
print(list)

実行結果

['A', 'B', 'C', 'a', 'b', 'c']

リストの要素を逆順に並び替える

「reverse()」を使うことで、単純にリストの要素を逆順に並び替えることができます。

リスト.reverse()

以下のプログラムは、リストの要素を逆順に並び替えるプログラムです。

list = ["Python", "初心者の", "備忘録"]
list.reverse()
print(list)

実行結果

['備忘録', '初心者の', 'Python']

リストの要素をランダムに並び替える

randomモジュールの「shuffle()」を使うことで、リストの要素の順番をランダムに並び替えることができます。

以下のプログラムは、リストの要素の順番をランダムに入れ替えるプログラムです。

import random

list = ["Python", "初心者の", "備忘録"]
random.shuffle(list)
print(list)

実行結果

['備忘録', 'Python', '初心者の']

ソートの条件を指定して並び替える

sort()では、大きさを比較するときに使用する、比較関数を指定することができます。

比較関数はkeyに指定します。

リスト.sort(key=関数)
keyに指定する関数には「()」をつけません。

以下のプログラムは、比較関数としてlen()を使用し、要素の長さが短い順に並び替えるプログラムです。

list = ["abc", "defgh", "ij"]
list.sort(key=len)
print(list)

実行結果

['ij', 'abc', 'defgh']

まとめ

今回の記事では、リストの要素を並び替える方法として以下の方法を紹介しました。

  • リストの要素を大きさ順で並び替える方法
     →sort()を使用
      大文字小文字は大文字が先
  • リストの要素を逆順で並び替える方法
     →reverse()を使用
  • リストの要素をランダムに並び替える方法
     →shuffle()を使用
  • リストの要素をソートの条件を指定して並び替える方法
     →()のつけ間違いに注意

違いを理解して、しっかりと覚えておきましょう!