では「ユーザーの名前をアルファベット順に並べる」練習をしてみましょう ✨
名前リストを並べ替える
Pythonには、リストを並べ替える便利な機能があります。文字列比較のルール(辞書順)を使って、自動的に並べ替えができます。
# 名前リスト
names = ["Charlie", "Alice", "Bob", "David"]
# 並べ替え(昇順)
sorted_names = sorted(names)
print(sorted_names)
Python実行結果
['Alice', 'Bob', 'Charlie', 'David']
👉 sorted() を使うと、文字列を「辞書順」で並べ替えてくれます。
大文字小文字の違いに注意
Pythonは大文字と小文字を区別するので、結果が直感と違うことがあります。
names = ["alice", "Bob", "charlie", "David"]
print(sorted(names))
Python実行結果
['Bob', 'David', 'alice', 'charlie']
理由: 大文字は小文字より「小さい」と判定されるため、先に並びます。
大文字小文字を無視して並べたい場合
key=str.lower を指定すると、全部小文字に変換してから比較してくれます。
names = ["alice", "Bob", "charlie", "David"]
print(sorted(names, key=str.lower))
Python実行結果
['alice', 'Bob', 'charlie', 'David']
✅ まとめ
sorted()で文字列リストを辞書順に並べ替えられる- 大文字と小文字は区別されるので注意
key=str.lowerを使えば、大文字小文字を無視して並べ替え可能
ここまでで「文字列比較」が、実際にリストの並べ替えに使えることが分かりましたね。
