Irohabook
0
5793

Pythonでリストを昇順に並び替える(sort、ソート)

Pythonではリストを並び替えることができます。例えば9, 4, 13, 6というリストを小さい順に並び替えたいときは、このリストにsortというメソッドを使います。

入力

x = [9, 4, 13, 6]
x.sort()
print(x)

出力

[4, 6, 9, 13]

小さい順に並び替えることを「昇順に並び替える」といいます。逆、つまり大きい順は降順といいます。

文字列の昇順

数値のリストを昇順に並び替えましたが、文字列はどうなるでしょうか?

入力

a = ['りんご', 'なし', 'かき']
a.sort()
print(a)

出力

['かき', 'なし', 'りんご']

ひらがなの「あかさたな」順に並んでいることがわかります。カタカナが混ざるとどうなるでしょうか?

入力

a = ['りんご', 'ナシ', 'カキ', 'いちご']
a.sort()
print(a)

出力

['いちご', 'りんご', 'カキ', 'ナシ']

「りんご」と「カキ」の順に注目してください。ひらがな、カタカナという順になっています。

数、アルファベット、ひらがな、カタカナ、漢字の順

入力

a = ['apple', 'りんご', 'ナシ', '柿', '15']
a.sort()
print(a)

出力

['15', 'apple', 'りんご', 'ナシ', '柿']

sortというメソッドでは、数、アルファベット、ひらがな、カタカナ、漢字の順に並び替わることがわかりました。

sorted

昇順の並び替えはsortedという関数を使ってもできます。

入力

a = [34, 81, 12, 65]
b = sorted(a)
print(b)

出力

[12, 34, 65, 81]

sortはもとのリストを並び替えるため、もとのリストを保存したまま並び替えた後のリストも出したいという時はsortedを使いましょう。

リストのリスト

結論から言うと、sortはリストのリストに効きません。

入力

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

出力

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

目次(リスト)

リストの基本
リストの長さ
整数のリスト(range)
インデックスから値を取得
マイナスのインデックス
値の存在チェック
値の重複カウント
値の追加
リストの追加
リストの足し算
リストのかけ算
リストの挿入
並び替え(逆順)
並び替え(昇順)
並び替え(降順)
値の削除(remove)
値の削除(pop)
値の削除(del)
リストの総和

Python

環境設定
文字列
数値
リスト
辞書
集合
ifとelse
forとwhile
関数
クラス
ファイル
システム

次の記事

リスト・辞書