edo1z blog

プログラミングなどに関するブログです

Python3 - NumpyとPythonの配列のスライスでマイナス使った場合

  • 開始位置より終了位置が小さい場合は空。
  • マイナスの場合、後ろから数える。一番最後が-1。
  • 終了位置が実際の配列の最後より大きい場合は、実際の配列の最後になる。
  • 開始位置は0だったら0番目も含まれるが、終了位置が例えば10だった場合、9番目までが含まれる。
  • 終了位置が-1だったら、-2までが含まれる。

コード

a = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9])
print('numpy array')
print(a[-1 : 3])
print(a[0 : 3])
print(a[-1 : 100])
print(a[1 : 100])
print(a[-1])
print(a[-2])
print(a[-3 : 10])
print(a[-3 : -1])
print()

b = [1, 2, 3, 4, 5, 6, 7, 8, 9]
print('python array')
print(b[-1 : 3])
print(b[0 : 3])
print(b[-1 : 100])
print(b[1 : 100])
print(b[-1])
print(b[-2])
print(b[-3 : 10])
print(b[-3 : -1])

結果

numpy array
[]
[1 2 3]
[9]
[2 3 4 5 6 7 8 9]
9
8
[7 8 9]
[7 8]

python array
[]
[1, 2, 3]
[9]
[2, 3, 4, 5, 6, 7, 8, 9]
9
8
[7, 8, 9]
[7, 8]