スポンサーリンク
Pythonのリストの要素をソートする方法
Pythonのリストの要素をソートする方法です。
sort()で、リストの要素を昇順にソート
下記の形式で、sort()メソッドを使うことで、リストの要素を昇順にソートできます。
リストの中身がソートされることに注意が必要です。
list.sort()
例えば、下記のように書きます。
list = [9, 4, 10, 5, 8] list.sort() print(list)
下記が実行結果になります。
[4, 5, 8, 9, 10]
スポンサーリンク
reverse()で、リストの要素を逆順にソート
下記の形式で、reverse()メソッドを使うことで、リストの要素を逆順にソートできます。
リストの中身がソートされることに注意が必要です。
list.reverse()
例えば、下記のように書きます。
list = [9, 4, 10, 5, 8] list.reverse() print(list)
下記が実行結果になります。
[8, 5, 10, 4, 9]
sort()で、リストの要素を降順にソート
降順にリストの要素をソートする場合には、引数にreverse = Trueを設定します。
list.sort(reverse = True)
例えば、下記のように書きます。
list = [9, 4, 10, 5, 8] list.sort(reverse = True) print(list)
下記が実行結果になります。
[10, 9, 8, 5, 4]
sorted()でリストの中身を変更せずに、ソート結果(昇順)を新規に作成
sort()メソッドはリストの中身が直接変更されてしまいます。
sorted()関数を使うことで、ソート結果(昇順)を新規に作成することができます。
listNew = sorted(list)
例えば、下記のように書きます。
list = [9, 4, 10, 5, 8] list2 = sorted(list) print(list) print(list2)
下記が実行結果になります。リストの中身は変更されていないことが確認できます。
[9, 4, 10, 5, 8] [4, 5, 8, 9, 10]
sorted()でリストの中身を変更せずに、ソート結果(降順)を新規に作成
sorted()関数で、降順でソート結果を新規に作成する場合には、引数にreverse = Trueを追加します。
listNew = sorted(list, reverse = True)
例えば、下記のように書きます。
list = [9, 4, 10, 5, 8] list2 = sorted(list, reverse = True) print(list) print(list2)
下記が実行結果になります。リストの中身は変更されていないことが確認できます。
[9, 4, 10, 5, 8] [10, 9, 8, 5, 4]
サンプルコード
下記がサンプルコードになります。
$ cat sample.py #!/usr/bin/env python3 # coding: UTF-8 list = [9, 4, 10, 5, 8] list.sort() print(list) list = [9, 4, 10, 5, 8] list.reverse() print(list) list = [9, 4, 10, 5, 8] list.sort(reverse = True) print(list) list = [9, 4, 10, 5, 8] list2 = sorted(list) print(list) print(list2) list = [9, 4, 10, 5, 8] list2 = sorted(list, reverse = True) print(list) print(list2)
下記が実行結果になります。
$ ./sample.py [4, 5, 8, 9, 10] [8, 5, 10, 4, 9] [10, 9, 8, 5, 4] [9, 4, 10, 5, 8] [4, 5, 8, 9, 10] [9, 4, 10, 5, 8] [10, 9, 8, 5, 4]
スポンサーリンク