Python3 – スライスとfindでの位置指定の違い

文字列のスライスとfind/rfindで検索範囲の指定が違っていて混乱したので整理する。

文字列のスライスでは、次のように指定する。

このとき、stepが正なら前方から後方へ、負なら後方から前方へ向かって文字列が取り出されるが、そのときのstartとendの指定は、stepが正か負かで次のように違ってくる。

つまりstepが正の時は、前方から後方へ文字列が取り出されるのでstart<stop、stepが負の時は逆にstart>stopでなければならない。

一方、find/rfindについてはスライスと違ってくる。

(string, start, stop)の指定で、検索範囲の指定は常にstart < stopでなければならない。

 

 

 

 

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です