Pythonでリストを並び替える
Pythonのリストを順番に並び替えます。
目次
Listオブジェクトのsortメソッドを使う
Listオブジェクトにはsortというメソッドがあります。これは、リストそのものを並び替えます。
L.sort(key, reverse)
変数 |
内容 |
---|---|
L |
並び替える対象となるリストオブジェクト |
key |
比較するキーを指定する関数。既定値はNone(要素を直接比較する) |
reverse |
並び替える方向。既定値はFalse |
sotrメソッドの実施例
試してみました。
>>> L = ['stay','hungry','stay','foolish']
>>> L
['stay', 'hungry', 'stay', 'foolish']
>>> L.sort()
>>> L
['foolish', 'hungry', 'stay', 'stay']
>>> L.sort(reverse=True)
>>> L
['stay', 'stay', 'hungry', 'foolish']
組み込み関数sortedを使う
リストオブジェクトのsortメソッドはオブジェクトそのものを並び替えてしまいます。ちょっと使い勝手が悪かったりするので、組み込み関数のsortedを使ってみます。
res = sorted(L, key, reverse)
変数 |
内容 |
---|---|
L |
並び替える対象となるイテラブルなオブジェクト |
key |
比較するキーを指定する関数。既定値はNone(要素を直接比較する) |
reverse |
並び替える方向。既定値はFalse |
res |
並び替えられたリスト |
イテラブルなオブジェクトなら並び替えられるので、リスト以外でもいけるようです。
sorted関数の実施例
試してみました。
>>> L = ['stay','hungry','stay','foolish']
>>> L
['stay', 'hungry', 'stay', 'foolish']
>>> sorted_L = sorted(L)
>>> L
['stay', 'hungry', 'stay', 'foolish']
>>> sorted_L
['foolish', 'hungry', 'stay', 'stay']
>>> rev_sorted_L = sorted(L,reverse=True)
>>> L
['stay', 'hungry', 'stay', 'foolish']
>>> rev_sorted_L
['stay', 'stay', 'hungry', 'foolish']
きちんと並び変わってるし、元のリストも残ってますね。
公開日
広告