Pythonでテキストを反転
スライス、reversed()、ループ、再帰を使ってPythonで文字列を反転する複数の方法を学びます。Pythonの文字列処理とUnicodeサポートを理解しましょう。
Programming
詳細な説明
Pythonでの文字列反転
Pythonは文字列反転のためのエレガントで簡潔な方法を提供し、他の言語で見られる多くの落とし穴を避ける組み込みUnicodeサポートがあります。
方法1: スライス記法(最もPythonらしい)
reversed_str = original[::-1]
[::-1]スライスは反転コピーを作成します。これが最もPythonらしいアプローチです。
方法2: reversed() + join()
reversed_str = "".join(reversed(original))
方法3: 再帰
def reverse(s):
if len(s) <= 1:
return s
return reverse(s[1:]) + s[0]
警告: Pythonのデフォルトの再帰制限は1000です。長い文字列では失敗します。
Unicode処理
Python 3の文字列はデフォルトでUnicodeなので、スライスはほとんどの国際文字で正しく動作します:
"こんにちは"[::-1] # "はちにんこ"
"Hello 🌍"[::-1] # "🌍 olleH"
パフォーマンス
- スライス記法が最速 — 内部的にCで実装
- **reversed() + join()**はわずかに遅いが同様に正確
- 再帰は最も遅く、スタック深度制限がある
- ほとんどの用途には
[::-1]が推奨
ユースケース
Pythonの文字列反転はPython開発者、テキストデータを処理するデータサイエンティスト、コーディングチャレンジに備える学生にとって核心的なスキルです。Pythonのスライス記法はあらゆるプログラミング言語の中で最も簡潔な反転表現の一つです。