Python での文字列のスライス
Python のスライスとは、指定された文字列を最初から最後までそれぞれスライスすることによって、その文字列から部分文字列を取得することです。
Python での文字列スライスの仕組み
のために スライスを理解する さまざまな方法を使用します。ここでは、文字列スライスの 2 つの方法について説明します。1 つはビルド内スライス() メソッドを使用し、もう 1 つは [:] 配列スライス 。 Python の文字列スライスとは、指定された文字列を最初から最後までそれぞれスライスすることによって、その文字列から部分文字列を取得することです。
Python のスライスは 2 つの方法で実行できます。
- スライス()メソッドの使用
- 配列スライス [:: ] メソッドの使用
正および負のインデックスのインデックス トラッカー: Python での文字列のインデックス作成とスライス。ここで、文字列を逆に追跡するときに Negative が考慮されます。
方法 1:slice() メソッドを使用する
lice() コンストラクターは、 range(start, stop, step) で指定されたインデックスのセットを表すスライス オブジェクトを作成します。
構文:
- スライス(ストップ)
- スライス(スタート、ストップ、ステップ)
パラメーター: 始める: オブジェクトのスライスが開始される開始インデックス。 停止: オブジェクトのスライスが停止する終了インデックス。 ステップ: これは、スライスの各インデックス間の増分を決定するオプションの引数です。 戻り値の型: 指定された範囲内の要素のみを含むスライスされたオブジェクトを返します。
例:
Python3
# Python program to demonstrate> # string slicing> # String slicing> String> => 'ASTRING'> # Using slice constructor> s1> => slice> (> 3> )> s2> => slice> (> 1> ,> 5> ,> 2> )> s3> => slice> (> -> 1> ,> -> 12> ,> -> 2> )> print> (> 'String slicing'> )> print> (String[s1])> print> (String[s2])> print> (String[s3])> |
出力:
String slicing AST SR GITA
方法 2: リスト/配列スライス [::] メソッドを使用する
Python では、スライス オブジェクトの代わりにインデックス構文を使用できます。これは、次を使用して文字列をスライスする簡単で便利な方法です。 リストのスライス 構文面と実行面の両方で配列をスライスします。 start、end、step には、slice() コンストラクターと同じメカニズムがあります。
以下に見ていきます Python での文字列スライスと例。
構文
arr[start:stop] # items start through stop-1 arr[start:] # items start through the rest of the array arr[:stop] # items from the beginning through stop-1 arr[:] # a copy of the whole array arr[start:stop:step] # start through not past stop, by step
例 1:
この例では、次のようになります。 Pythonリストでのスライス インデックスは 0 インデックスから始まり 2 インデックスで終わります ( 3-1=2 で停止します)。
Python3
# Python program to demonstrate> # string slicing> # String slicing> String> => 'GEEKSFORGEEKS'> # Using indexing sequence> print> (String[:> 3> ])> |
出力:
GEE
例 2:
この例では、1 インデックスから開始して 5 インデックスで終了 ( 3-1=2 で停止)、スキップ ステップは 2 の例を示します。 Python は文字列を文字ごとにスライスします。
Python3
# Python program to demonstrate> # string slicing> # String slicing> String> => 'GEEKSFORGEEKS'> # Using indexing sequence> print> (String[> 1> :> 5> :> 2> ])> |
出力:
EK
例 3:
この例では、-1 インデックスから開始して -12 インデックスで終了し ( 3-1=2 で停止)、スキップ ステップは -2 である例を示します。
Python3
# Python program to demonstrate> # string slicing> # String slicing> String> => 'GEEKSFORGEEKS'> # Using indexing sequence> print> (String[> -> 1> :> -> 12> :> -> 2> ])> |
出力:
SEGOSE
例 4:
この例では、文字列全体が逆の順序で出力されます。
Python3
# Python program to demonstrate> # string slicing> # String slicing> String> => 'GEEKSFORGEEKS'> # Prints string in reverse> print> (String[::> -> 1> ])> |
出力:
SKEEGROFSKEEG
注記: 文字列について詳しく知りたい場合は、ここをクリックしてください。
islice() の使用
islice() は、itertools モジュールで定義された組み込み関数です。これは、任意の反復可能オブジェクトのインデックスベースのスライスである反復子を取得するために使用されます。標準のスライスと同様に機能しますが、イテレータを返します。
構文:
itertools.islice(反復可能、開始、停止[、ステップ])
パラメータ: iterable: リスト、文字列、タプルなどの反復可能なシーケンス。 start: iterable のスライスが開始される開始インデックス。 stop: 反復可能なスライスの終了位置からの終了インデックス。 step: オプションの引数。スライスする各インデックス間のギャップを指定します。戻り値の型: 指定された反復可能なシーケンスから反復子を返します。
例:
Python3
# Python program to demonstrate> # islice()> > import> itertools> > # Using islice()> String> => 'GEEKSFORGEEKS'> > # prints characters from 3 to 7 skipping one character.> print> (''.join(itertools.islice(String,> 3> ,> 7> )))> #This code is contributed by Edula Vinay Kumar Reddy> |
出力
KSFO