Python のスライスについて
Python のスライス表記を使用すると、プログラマはリスト、タプル、およびその他のシーケンスから要素を選択的に抽出できます。この貴重な機能をマスターするために、その仕組みを詳しく見てみましょう。
構文と操作
基本的なスライス構文は a[start:stop] です。ここで、
- start は、含める最初の要素のインデックスを表します。
- stop は、含める最初の要素のインデックスを指定します
さらに、要素が選択される間隔を決定する 3 番目のパラメータ step を含めることができます。
最も一般的なスライス表記の内訳は次のとおりです。
- a[start:stop]: start から stop-1 までの要素が含まれます (start を含み、 stop).
- a[start:]: シーケンスの先頭から末尾までの要素を抽出します。
- a[:stop]: シーケンスの先頭から stop-1 までの要素を抽出します。 (排他的)。
- a[:]: シーケンス全体のコピーを作成します。
- a[start:stop:step]:基本構文と同じですが、すべてのステップ 番目の要素のみを選択します。
負のインデックスとステップ値
Python では、シーケンスの最後から逆方向にカウントされる負のインデックスが許可されます。これは、
- a[-1] は最後の要素を表します。
- a[-2:] は最後の 2 つの要素を抽出します。
- a[: -2] は最後の 2 つの要素を除外します。
負のステップ値は要素の順序を逆にします。例:
- a[::-1] はシーケンス全体を反転します。
- a[1::-1] は最初の 2 つの要素を反転します。
- a[:-3:-1] は、最後の 2 つを除くすべての要素を反転します。
スライスとの関係オブジェクト
スライス表記は、スライス オブジェクトを使用して表現することもできます。
a[slice(start, stop, step)]
ログイン後にコピー
これにより、プログラムでスライス操作を生成するための柔軟性が得られます。
ヒントと落とし穴
- stop は排他的であるため、len(a) までの範囲を選択すると、最後の要素を除外します。
- シーケンスに含まれる要素より多くの要素を要求した場合、Python はエラーを生成せずに空のリストを返します。
- 代入でスライス表記を使用する (a[start:stop) ] = [...]) は、スライスされた要素を割り当てられた値に置き換えます。
以上がPython のスライス表記はどのように機能しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。