Pythonの2D配列のスライス規則は何ですか?

Pythonでは2次元配列は通常、リストのネストやNumPy配列として表されます。2次元配列のスライス操作は、次の規則に従って実行できます。

  1. スライス演算は一次元配列のスライス演算に似ており、[start:end:step]という構文を使用できます。
  2. 2 次元配列の場合、配列スライスは指定範囲の行や列の要素を含む新しい2 次元配列を返します。
  3. スライス操作は行、列、またはその両方の組み合わせに適用できます。行と列のスライス範囲はコンマで区切ってください。
  4. 行範囲のみが指定された場合、デフォルトで適用されます。例えば、arr[start:end]は行のstartからend-1までのスライスを返します。
  5. 行は最初のレンジが適用され、列は2番目のレンジが適用されます。たとえば、arr[start1:end1, start2:end2] は、start1 から end1-1 行と start2 から end2-1 列の範囲のスライスを返します。
  6. マイナスインデックスを使用して、末尾からの位置を表すことができます。たとえば、arr[-1] は最後の行を表し、arr[:, -1] は最後の列を表します。
  7. スライス間隔を指定するにはステップ(step)を使用できます。例えば、arr[開始:終了:ステップ] はステップごとのスライスになります。
  8. Startを省略した場合は0、endを省略した場合は配列長、stepを省略した場合は1が初期値として用いられます。

これがいくつかの例です。

import numpy as np
# 创建一个二维数组
arr = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
# 切片操作
print(arr[0])                  # 输出第一行: [1, 2, 3]
print(arr[:, 0])               # 输出第一列: [1, 4, 7]
print(arr[1:3, 1:3])           # 输出子数组: [[5, 6], [8, 9]]
print(arr[::2, ::2])           # 输出间隔为2的子数组: [[1, 3], [7, 9]]
print(arr[:, -1])              # 输出最后一列: [3, 6, 9]

NumPyライブラリを使用した上記の実装例に示すように、未インストールの場合は、リストなど、Python組み込みのソリューションを使用できます。

bannerAds