Pythonで文字列を逆転させる方法
Pythonで文字列を逆順にする:reversed()、スライス、およびその他
Pythonのストリングを使う場合、場合によってはそれらを逆順で操作する必要が生じることがあります。Pythonには、これらの状況で助けになる便利なツールやテクニックがいくつかあります。これらを使えば、既存のストリングの逆順のコピーを素早く簡単に作成することができます。
これらのツールやテクニックを知っていれば、Python開発者としてのスキルを向上させることができます。
このチュートリアルでは、次のことを学びます:
- スライスを使用して、既存のストリングの逆順のコピーを素早く作成する方法
reversed()
および.join()
を使用して既存のストリングの逆順のコピーを作成する方法- イテレーションと再帰を使用して既存のストリングを手動で逆順にする方法
- ストリングを逆順にイテレーションする方法
sorted()
を使用してストリングを逆順にソートする方法
このチュートリアルを最大限に活用するために、ストリングの基礎、for
ループとwhile
ループ、再帰の基礎について知っていることが望ましいです。
Pythonのコアツールを使った文字列の逆順
特定の状況では、Pythonのストリングを逆順に操作する必要が生じることがあります。たとえば、文字列 "ABCDEF"
があり、それを "FEDCBA"
という逆順に高速に変換したいとします。この要件を満たすためにPythonのどのツールを利用できるでしょうか?
Pythonのストリングはイミュータブル(変更不可)なので、与えられたストリングをインプレース(元のオブジェクトを変更することなく)逆にすることはできません。したがって、この要件を満たすためには、対象のストリングの逆順のコピーを作成する必要があります。
Pythonには、ストリングを逆にするための2つのシンプルな方法が用意されています。ストリングはシーケンスなので、インデックス指定やスライス、イテレータの特徴を活用することができます。その特徴を利用して、与えられたストリングを逆の順序でコピーするためにスライスを使用することができます。2番目のオプションは、組み込み関数reversed()
を使用して、入力ストリングの文字を逆の順序で返すイテレータを作成することです。
スライスを使ったストリングの逆順
スライスは、オフセットとして知られる整数のインデックスの異なる組み合わせを使用して、与えられたシーケンスからアイテムを抽出する便利なテクニックです。