Pythonで文字列を逆順にする方法|スライスとreversed()の使い方を解説
Pythonでは、文字列スライスやrange演算子を活用することで、文字列を簡単に逆順(反転)にすることができます。この記事では、代表的な2つの方法をわかりやすく解説します。
方法1:スライス記法 [::-1] を使う(推奨・高速)
最もシンプルで一般的なのが、スライス記法を使う方法です。ステップに -1 を指定するだけで、文字列を後ろから前へ一文字ずつ取り出せます。
>>> 'Hello'[::-1] 'olleH' >>> 'Halloween'[::-1] 'neewollaH'
スライスの仕組み
角括弧 [] の中には、コロン「:」で区切った3つの値を指定できます。
- 第1引数: 開始インデックス
- 第2引数: 終了インデックス
- 第3引数: ステップ(刻み幅)
[::-1] のように第3引数だけを -1 にして他を省略すると、「先頭から末尾へ向かって、逆向きに1文字ずつ進む」という意味になります。これが文字列反転の定番イディオムです。
方法2:reversed() と join() を組み合わせる(可読性重視)
より読みやすいコードにしたい場合は、組み込み関数 reversed() を使う方法もあります。ただし、こちらはスライスよりも処理速度が遅い点に注意してください。
>>> ''.join(reversed('Hello'))
'olleH'
>>> ''.join(reversed('Halloween'))
'neewollaH'
なぜ join() が必要なのか
reversed() は文字列そのものではなく、逆順に要素を返すイテレータ(逆順イテレータオブジェクト)を返します。そのため、個々の文字を再びひとつの文字列として連結するために、''.join() を使って文字列を再構築する必要があります。
どちらの方法を選ぶべき?
| 方法 | メリット | デメリット |
|---|---|---|
s[::-1] | 簡潔で高速。Pythonらしい書き方 | スライスに慣れていない人には直感的でない |
''.join(reversed(s)) | 意図が読み取りやすい | やや冗長で、実行速度も遅め |
パフォーマンスが重要な場面では [::-1] を、コードの意図を明確に伝えたい場面では reversed() を使うとよいでしょう。
-
Pythonで文字列を逆順にする方法:スライス・reversed()・再帰を徹底解説
Pythonでは、スライスやreversed()メソッドを使って文字列を逆順にできます。また、文字列の各文字を読み取って全体を反転させる再帰関数もよく使われる方法です。ただし、文字列を反転させるための専用の組み込み関数は用意されていません。 Pythonで文字列を逆順にする方法 Pythonで作業していると、文字列を逆順にしたい場面に出会うことがあります。たとえば、ゲームを開発していて、ユーザーが入力した名前をプログラムが反転させてユーザー名として生成できるようにしたい、といったケースが考えられます。 文字列の反転はプログラミングで頻繁に使われる操作ではないため、Pythonには文字列を逆順
-
Androidで文字列を逆順に表示する方法をわかりやすく解説
本記事では、Androidアプリ開発において、ユーザーが入力した文字列を逆順(リバース)にして画面に表示する方法を実例とともに解説します。EditTextに入力されたテキストを、ボタンのクリックをきっかけに反転させてTextViewへ出力するシンプルなサンプルです。手順1:新規プロジェクトを作成するまず、Android Studioを開き、「File」→「New Project」から新しいプロジェクトを作成します。プロジェクト作成時に必要な項目をすべて入力してセットアップを完了させましょう。手順2:レイアウトファイル(activity_main.xml)を編集する次に、res/layout/a