要素のソート(sortメソッド, reverseメソッド)
リストに含まれる要素を、要素が参照しているオブジェクトの値を使って並べ替える方法を確認します。
値を昇順に並び替える場合はリスト型で用意されている「sort」メソッドを使います。
リストオブジェクト.sort()
要素が参照しているオブジェクトの値を使って並び替えます。文字列であれば文字コードの並び順、数値であれば数値が小さい順に並び替えられます。「sort」メソッドの結果、元のリストオブジェクトの要素が並び替えられます。
具体的には次のように記述します。
strlist = ["B", "C", "A"] numlist = [5, 2, 3] strlist.sort() print strlist # ["A", "B", "C"] numlist.sort() print numlist # [2, 3, 5]
並び替えを行う場合、要素が参照しているオブジェクトの型が異なった場合でも並び替えは行えますが、型が異なる場合にどのように並べ替えられるのかは分かりませんでした。
現在要素が並んでいる順場を逆に並び替えます。リスト型で用意されている「reverse」メソッドを使います。
リストオブジェクト.reverse()
「reverse」メソッドの結果、元のリストオブジェクトの要素が逆順に並び替えられます。
具体的には次のように記述します。
list = ["B", "C", "A"] list.reverse() print list # ["A", "C", "B"]
降順にソートされるわけではなく、あくまで現在と逆に並び替えられるだけです。降順にソートする場合はまず「sort」メソッドを実行してから「reverse」メソッドを実行して下さい。
では実際に試してみます。
#coding: UTF-8 list = ["B", "D", "E", "A", "C"] print list list.reverse() print "list.reverse()" print list print "list.sort()"C list.sort() print list print "list.reverse()" list.reverse() print list
上記を「test11-1.py」として保存します。保存する時の文字コードはUTF-8です。そして次のように実行して下さい。
( Written by Tatsuo Ikura )