Pythonの文字列は、サブ文字列を作成するためにスライスをサポートしています。Pythonの文字列は不変であるため、スライスは元の文字列から新しいサブ文字列を作成し、元の文字列は変更されません。
Pythonのスライス文字列
Pythonのスライス文字列の構文は次のとおりです:
str_object[start_pos:end_pos:step]
スライスは、start_posインデックス(含まれる)からend_posインデックス(含まれない)までを指定します。stepパラメータは、startからendインデックスまでのステップを指定するために使用されます。Pythonの文字列スライスは常にこのルールに従います:s[:i] + s[i:] == s すべてのパラメータはオプションであり、start_posのデフォルト値は0、end_posのデフォルト値は文字列の長さ、stepのデフォルト値は1です。いくつかの簡単な文字列スライス関数の例を見てみましょう。
s = 'HelloWorld'
print(s[:])
print(s[::])
出力:
HelloWorld
HelloWorld
スライスのパラメータが提供されなかったため、サブ文字列は元の文字列と等しいことに注意してください。文字列をスライスするさらなる例を見てみましょう。
s = 'HelloWorld'
first_five_chars = s[:5]
print(first_five_chars)
third_to_fifth_chars = s[2:5]
print(third_to_fifth_chars)
出力:
Hello
llo
インデックスの値は0から始まるため、start_pos 2は文字列の3番目の文字を指します。
スライスを使用して文字列を逆順にする
ステップ値を-1として指定することで、スライスを使用して文字列を逆順にすることができます。
s = 'HelloWorld'
reverse_str = s[::-1]
print(reverse_str)
dlroWolleH
いくつかのステップと負のインデックス値を使用する他の例を見てみましょう。
s1 = s[2:8:2]
print(s1)
出力: loo
ここでは、部分文字列にはインデックス2、4、および6の文字が含まれます。
s1 = s[8:1:-1]
print(s1)
出力: lroWoll
ここでは、インデックス値は終わりから始まります。部分文字列は、終わりから始まりのインデックス1から7まで作成されます。
s1 = s[8:1:-2]
print(s1)
出力: lool
Pythonスライスは負のインデックスでも機能し、その場合、start_posは除外され、end_posは部分文字列に含まれます。
s1 = s[-4:-2]
print(s1)
出力: or
Python文字列スライスは範囲外のインデックスを適切に処理します。
>>>s = 'Python'
>>>s[100:]
''
>>>s[2:50]
'thon'
これでPython文字列スライス関数で部分文字列を作成する方法についての説明は終わりです。
完全なPythonスクリプトとその他のPythonの例は、私たちのGitHubリポジトリからチェックアウトできます。
Source:
https://www.digitalocean.com/community/tutorials/python-slice-string