Python-リストのソート
リストを英数字順に並べ替える
リストオブジェクトにはsort()
リストをデフォルトで昇順、英数字順に並べ替えるメソッド:
例
リストをアルファベット順に並べ替えます。
thislist = ["orange", "mango", "kiwi", "pineapple", "banana"]
thislist.sort()
print(thislist)
降順で並べ替え
降順に並べ替えるには、キーワード引数を使用しますreverse = True
:
例
リストを降順に並べ替えます。
thislist = ["orange", "mango", "kiwi", "pineapple", "banana"]
thislist.sort(reverse = True)
print(thislist)
例
リストを降順に並べ替えます。
thislist = [100, 50, 65, 82, 23]
thislist.sort(reverse = True)
print(thislist)
ソート機能のカスタマイズ
キーワード引数を使用して独自の関数をカスタマイズすることもできますkey = function
.
この関数は、リストの並べ替えに使用される数値を返します (最小の数値が最初に表示されます)。
例
数値が 50 にどれだけ近いかに基づいてリストを並べ替えます。
def myfunc(n):
return abs(n - 50)
thislist = [100, 50, 65, 82, 23]
thislist.sort(key = myfunc)
print(thislist)
大文字と小文字を区別しない並べ替え
デフォルトでは、sort()
メソッドは大文字と小文字を区別するため、すべての大文字が小文字の前にソートされます。
例
大文字と小文字を区別して並べ替えると、予期しない結果が生じる可能性があります。
thislist = ["banana", "Orange", "Kiwi", "cherry"]
thislist.sort()
print(thislist)
幸いなことに、リストをソートするときに組み込み関数をキー関数として使用できます。
したがって、大文字と小文字を区別しないソート関数が必要な場合は、 str.lower をキー関数として使用します。
例
リストの大文字と小文字を区別しない並べ替えを実行します。
thislist = ["banana", "Orange", "Kiwi", "cherry"]
thislist.sort(key = str.lower)
print(thislist)
逆順
アルファベットに関係なく、リストの順序を逆にしたい場合はどうしますか?
のreverse()
メソッドは、要素の現在のソート順を逆にします。
例
リスト項目の順序を逆にします。
thislist = ["banana", "Orange", "Kiwi", "cherry"]
thislist.reverse()
print(thislist)
プログラミング学習を加速させる
プログラミングをプロの講師に教えてもらいませんか。