※このページではアフィリエイト広告を利用しています

【Python入門】Listの要素を並び替える方法-まとめ-

Python

ここでは、PythonにおけるList型の要素に対して並び替えする方法(sort()メソッド、sorted()メソッド)について解説しています。

この記事の対象

  • sort()メソッドについて知りたい方
  • sorted()メソッドについて知りたい方
  • Pythonで任意の並び順にしたい方
スポンサーリンク
スポンサーリンク

sort()で並び替え

sort()の基本的な型

変数名.sort()

sort()メソッドは、リストの要素を昇順または降順に並び替えます。

注意点は、元のリストを直接変更し、並び替え後のリストは返さない点です。

sort()を用いた使用例

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

上記は昇順に並び替えるプログラムです。

【結果】

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

降順

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

降順にしたい場合は引数に「reverse = True」を設定するだけです。

【結果】

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

Keyで並び替え

my_list = ['dog', 'cat', 'elephant', 'ant', 'aardvark']
my_list.sort(key=len)
print(my_list)

Keyを指定することでも並び替えをできます。ここでは、長さでSortをしています。

【結果】

['dog', 'cat', 'ant', 'elephant', 'aardvark']

sorted()で並び替え

sorted()の基本的な型

sorted()

sorted()関数は、リストをコピーして、コピーされたリストをソートして返します。元のリストは変更されない特徴があります。

sorted()を用いた使用例

numbers = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5]

sorted_numbers = sorted(numbers)

print(sorted_numbers)

上記のプログラムは元のリストは変更されません。

【結果】

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

降順

numbers = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5]

sorted_numbers = sorted(numbers,reverse = True)

print(sorted_numbers)

sort()関数と同様に「reverse」をTrueとすることで可能です。

【結果】

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

Keyで並び替え

words = ['dog', 'cat', 'elephant', 'ant', 'aardvark']

sorted_words = sorted(words, key=lambda word: len(word))

print(sorted_words)

key引数には、各要素を受け取ってその長さを返す無名関数(lambda関数)を指定しています。これによって、各要素がソートされる前に、長さに基づいて変換しています。

【結果】

['dog', 'cat', 'ant', 'elephant', 'aardvark']
タイトルとURLをコピーしました