プログラミングにおけるスライスとは、通常、文字列、タプル、リストから、それぞれ部分文字列、部分タプル、部分リストを取得することを指します。
Pythonはこれら3つだけでなく、あらゆるイテラブルをスライスする簡単な方法を提供します。
イテラブルとは、その名の通り、反復処理できるオブジェクトのことです。
この記事では、Pythonの文字列のスライスについて知っておく必要があるすべてのことを説明します。
Pythonで文字列をスライスする
文字列をスライスする方法はいくつかありますが、最も一般的なのは :
演算子を使った次の構文です。
string[start:end]
string[start:end:step]
パラメータ start
は開始インデックス、 end
は終了インデックス、 step
は「ステップオーバー」されるアイテムの数を表します。
それでは、文字列をスライスしてみましょう。
string = 'No. I am your father.'
print(string[4:20])
この場合、文字列の最初の4文字が省略されます。
I am your father
長さnの接頭辞と接尾辞をスライス記法で求める。
文字列の長さ n
の接頭辞や接尾辞を見つけるには、リストの末尾や先頭を見つけるのと同じ方法を使います。
文字列の先頭から n
までをスライスし、 -n
からは文字列の末尾までをスライスするのです。
この場合、-n
は文字列の最後から逆算して、接尾辞を与えることになります。
n = 4
string = 'Now, young Skywalker, you will die.'
# Prefix of length n
print(string[:n])
# Sufix of length n
print(string[-n:])
この結果、次のようになります。
Now,
die.
スライス記法で文字列を逆順にする
文字列を反転させるには、スライス記法の step
を -1
に設定します。
これにより、ステップの各要素を含めて逆方向に進み、結果として文字列が逆に出力されるようになります。
string = 'I’ll never turn to the dark side. You’ve failed, your highness. I am a Jedi, like my father before me.'
print(string[::-1])
このコードは次のようになります。
.em erofeb rehtaf ym ekil ,ideJ a ma I .ssenhgih ruoy ,deliaf ev’uoY .edis krad eht ot nrut reven ll’I
文字列中のn番目の文字をすべて見つける
n番目の文字をすべて取り出すには、stepパラメータを n
に設定する必要があります。
もし、2文字目以降が必要なら、2文字目以降も同様にステップすることになる。
n = 3
string = 'There’s always a bigger fish.'
print(string[::n])
このコードは3文字目までを出力します。
Trslyaiefh
結論
Pythonで任意のシーケンスをスライスするのは簡単で、シンプルで、直感的です。
ネガティブインデックスは、シーケンスの最初または最後のいくつかの要素を取得したり、その順序を逆転させる簡単な方法を提供します。
今回は、Pythonで文字列のスライス記法を適用する方法について説明しました。