カテゴリ: Python 更新日: 2025/06/30

Pythonで文字列を逆順にする方法![::-1]のスライスを活用

Pythonで文字列を逆順にする方法![::-1]のスライスを活用
Pythonで文字列を逆順にする方法![::-1]のスライスを活用

先生と生徒の会話形式で理解しよう

生徒

「Pythonで、文字列を反対から表示することってできますか?」

先生

「はい、Pythonではスライス構文を使えば、文字列を簡単に逆順(ぎゃくじゅん)にできますよ。」

生徒

「スライス構文って何ですか?なんだか難しそう…」

先生

「心配いりません。まずは文字列の仕組みからやさしく解説していきましょう!」

-

1. 文字列を反対に並べるには?

1. 文字列を反対に並べるには?
1. 文字列を反対に並べるには?

Pythonでは文字列(もじれつ)をそのまま使って、反対の順番に並べることができます。

たとえば、「Python」という文字列を逆順にすると「nohtyP」になります。

これを行うのが、スライス構文の[::-1]という書き方です。

2. Pythonのスライス構文とは?初心者にもわかる説明

2. Pythonのスライス構文とは?初心者にもわかる説明
2. Pythonのスライス構文とは?初心者にもわかる説明

スライス構文とは、文字列やリストなどから、一部を取り出したり、順番を変えたりできる方法です。

スライスは次のように書きます。

文字列[開始位置:終了位置:ステップ]

このとき、[::-1]とすると、ステップが「-1」になって、「ひとつずつ逆方向に進む」=逆順になります。


text = "Python"
reversed_text = text[::-1]
print(reversed_text)

nohtyP

3. 実際の例でスライスを練習しよう

3. 実際の例でスライスを練習しよう
3. 実際の例でスライスを練習しよう

まずは短い日本語の文字列で練習してみましょう。たとえば「こんにちは」を反対にします。


word = "こんにちは"
print(word[::-1])

はちにんこ

このように、文字を後ろから1つずつ取り出すことで、簡単に逆順が作れます。

4. 応用:文章の逆順や単語の順序を逆にする

4. 応用:文章の逆順や単語の順序を逆にする
4. 応用:文章の逆順や単語の順序を逆にする

文章全体を逆にすると、読みづらくなるかもしれませんが、単語の順番だけを反転したいときもあります。

そのときは、まずsplit()メソッドで単語ごとに区切り、[::-1]で逆順にしてからjoin()でつなげます。


sentence = "I love Python programming"
words = sentence.split()
reversed_words = words[::-1]
result = " ".join(reversed_words)
print(result)

programming Python love I

split()は空白で区切る関数、join()はリストをつなげる関数です。

-

5. スライスのしくみを図でイメージ

5. スライスのしくみを図でイメージ
5. スライスのしくみを図でイメージ

「Python」という文字列は、パソコンの中では次のように文字が番号(インデックス)で並んでいます。


 P   y   t   h   o   n
 0   1   2   3   4   5

逆順では、後ろから見ていくため、インデックスは -1, -2, -3... となります。


 n   o   h   t   y   P
-1  -2  -3  -4  -5  -6

[::-1]はこのようにマイナスの順番でたどっていくという意味になります。

6. for文で逆順を作ることもできる

6. for文で逆順を作ることもできる
6. for文で逆順を作ることもできる

Pythonでは、for文を使って文字列を1文字ずつ取り出すことができます。

次のように書けば、逆順の文字列も作れますが、[::-1]の方が圧倒的に簡単です。


text = "Python"
reversed_text = ""
for char in text:
    reversed_text = char + reversed_text
print(reversed_text)

nohtyP

7. 日本語でも使える?マルチバイト文字の注意点

7. 日本語でも使える?マルチバイト文字の注意点
7. 日本語でも使える?マルチバイト文字の注意点

Pythonでは、日本語のように1文字が2バイト以上ある文字(これをマルチバイト文字といいます)でも、[::-1]を使って問題なく逆順にできます。

ただし、文字コードエンコーディングといった難しい話になると別の注意が必要になりますが、普通にprintで表示する分には問題ありません。


name = "田中太郎"
print(name[::-1])

郎太中田

8. 逆順に使える場面いろいろ

8. 逆順に使える場面いろいろ
8. 逆順に使える場面いろいろ

文字列を逆順にする方法は、いろいろな場面で使えます。たとえば:

  • ユーザーの入力が「しりとり」になるか調べる
  • パスワードが反対に書かれているか判定する
  • 逆さ読みをするクイズゲーム
  • 回文(前から読んでも後ろから読んでも同じ)をチェックする

シンプルな記法でも、使い方によってはとても便利です。

コメント
コメント投稿は、ログインしてください

まだ口コミはありません。

カテゴリの一覧へ
新着記事
Pythonのエラーメッセージの読み方!よくあるエラーと解決方法
PHPの関数(function)の基本を完全ガイド!初心者でもわかる使い方
Pythonの条件式でNoneを判定する方法!is None vs == None の違い
Pythonのpass文とは?一時的なコードブロックをスキップする方法
人気記事
No.1
Java&Spring記事人気No1
PHPの配列をソートする方法!sort, rsort, asort, ksortの使い方を丁寧に解説します!
No.2
Java&Spring記事人気No2
PHPとは?初心者向けにわかりやすく解説
No.3
Java&Spring記事人気No3
PHPの関数(function)の基本を完全ガイド!初心者でもわかる使い方
No.4
Java&Spring記事人気No4
PHP の文字列の基本操作(連結・切り出し・長さ)の使い方
-