【Python】文字列から文字を部分的に取り出す
[開始位置:終了位置の一つ右:オフセット]の書式で文字列の特定場所の文字を取り出すことができます。
「終了位置の一つ右」という箇所がわかりづらいですが、その箇所が「10」となっている場合は、「9」個めの文字が該当します。
「オフセット」は具体例をみたほうがわかりやすいので、後程説明します。
1 2 3 4 5 6 7 8 9 10 |
>>> a 'kamotora.net' >>> a[0:10] 'kamotora.n' >>> a[1:10] 'amotora.n' >>> a[4:10] 'tora.n' >>> |
オフセットの使い方の説明です。
一文字おきに表示したい場合は以下のように記述します。
1 2 3 |
>>> a[::2] 'kmtr.e' >>> |
9個目の文字列まで、一文字おきに表示する場合は以下のように記述します。
1 2 3 |
>>> a[0:10:2] 'kmtr.' >>> |
オフセットを使うと、文字列を逆順に表示することもできます。
逆順に表示する場合は以下のように記述します。
1 2 3 |
>>> a[::-1] 'ten.arotomak' >>> |
ちなみに、オフセットの箇所に「-2」を指定すると逆順から始まり、一文字づつ表示してくれます。
1 2 3 |
>>> a[::-2] 'tnaooa' >>> |
まず使うことはありませんが、通常の並びで0から開始して10番目にあたるのが「e」、そこを起点に左に進み、0番目の一つ右までを取り出す場合は以下のように記述します。
1 2 3 |
>>> a[10:0:-1] 'en.arotoma' >>> |
こちらも使うことはありませんが、通常の並びで0から開始して10番目にあたるのが「e」、そこを起点に左に進み、最初まで取り出す場合は以下のように記述します。
1 2 3 |
>>> a[10::-1] 'en.arotomak' >>> |