python 言語処理100本ノック -第1章: 準備運動- 00. 文字列の逆順

00. 文字列の逆順

文字列”stressed”の文字を逆に(末尾から先頭に向かって)並べた文字列を得よ.

言語処理100本ノック、最初の問題は文字列を後ろから前に並び替えるというもの。
slice操作の基本的な使い方になります。

# coding: utf-8
target = u'stressed'
result = target[::-1]
print(result)

実行結果

desserts

target[start:end:step]

sliceは対象文字列に対して、抜き出し開始位置(start)と終了位置(end)を指定することで、範囲内の文字列を抜き出します。
開始位置は0始まりで、終了位置の1つ手前までを抜き出します。
以下は簡単な例になります。start=0、end=3なので0、1、2文字目を抜き出します。

target = 'Python'
print(target[0:3])

実行結果

Pyt

開始位置(start)、終了位置(end)には負数も指定可能です。
負数を指定する場合末尾の文字を-1として、末尾の1つ手前を-2、もう一つ手前を-3…としています。

今回の実装では第3引数のstepを使っています。
stepはその名のとおり、対象文字を飛ばして抜き出します。
[0:0:2]であれば偶数番目、[1:0:2]であれば奇数番目を抜き出します。

stepに負数を指定することで対象文字列を末尾から順に読み込んでいます。

■開発環境
Windows10
Python 3.7.3
Visual Studio Code 1.33.1

■言語処理100本ノック 公式
言語処理100本ノック 2015