Pythonスライスの基本的な使い方
Pythonのスライス(slice
)は、シーケンス(リスト、文字列、タプルなど)から一部の要素を選択するための方法です。スライスを使用すると、シーケンス内の指定した範囲の要素を取り出すことができます。
構文
- シーケンス - スライスを適用するシーケンス(リスト、文字列、タプルなど)
- 開始インデックス - スライスの開始位置を指定する整数。この位置の要素は含まれる
- 終了インデックス - スライスの終了位置を指定する整数。この位置の要素は含まれない
- ステップ - シーケンス内の要素を選択するステップ数。省略可能で、デフォルトは1
スライスの使用例
元のシーケンス
インデックス1から4までの要素を選択
インデックス5から最後までの要素を選択
先頭からインデックス4までの要素を選択
全体のリストをコピー
インデックス1から最後までの奇数インデックス要素を選択
リストを逆順にする
多次元配列の場合
NumPy
のndarray
から要素を取り出す場合の指定方法です。
:
は「全て」または「範囲全体」を表す,
は次元を区切るためのもの
[:, 2]
は全ての行(第1次元全体)を選択し、列においてはインデックス=2の要素を選択するという意味です。len()
で取得できる長さはデータ数です。
[:, :2]
は全ての行(第1次元全体)を選択し、列においては先頭から2つ目までの要素を選択するという意味です。len()
で取得できる長さは行の数です。
空配列の場合
第2次元の要素が空の場合、次の処理はエラーとなります。
一方、次の記述はエラーとなりません。
この時の出力はいずれも次のようになります。データはありませんが、長さは元の行の数になるので注意してください。
もちろん、第1次元(行)にも範囲は指定できます。
行全体の抽出
行から任意の値のリストを抽出
列の値が任意のセットを抽出
NumPy配列.T
は行と列を入れ替えた二次元配列を作成します。