文章目录
一、Numpy的切片
1、格式
数组[起始:终止:步长]
2、缺省值
缺省起始:步长为正,首;步长为负,尾
缺省终止:步长为正,尾后;步长为负,首前
缺省步长:1
3、端部切片
靠近端部的一个或几个连续的维度使用缺省切片,可以用“…”表示
- print(a[3:6]): 起始包括终止不包括:有指定起始值,则不包括起始值,即4到6包括6
- print(a[-4:-7:-1]) :步长为-1,起始是倒数第3个即7(不包括),终止是倒数第6个即4(包括)
4、练习代码
import numpy as np
# 一维数组的切片取值
# a = np.arange(1,10) # 表示1,2,3,4,5,6,7,8,9
# print(a[:3]) # 与索引不同,缺省起始为首(第一个),即1;这里表示1到3包括3,步长为1
# print(a[3:6]) # 起始包括终止不包括:有指定起始值,则不包括起始值,即4到6包括6
# print(a[6:]) # 缺省终止为尾后(最后一个),即9,这里表示从7到9
# print(a[::-1]) # 缺省起始为首9,缺省终止为尾后1,即所有的数都包括在内,步长为负,所以是逆序
# print(a[:-4:-1]) # 步长为-1,缺省起始是尾,即9;-4是倒数第3个,到7
# print(a[-4:-7:-1]) # 步长为-1,起始是倒数第3个即7(不包括),终止是倒数第6个即4(包括)
# print(a[-7::-1]) # 步长为-1,起始是倒数第6个即4(不包括),终止是缺省终止1(倒序最后一个)
# print(a[...]) # 端部切片,全部取
# print(a[::3]) # 全取,步长3
# print(a[1::3]) # 从1开始取到结束,步长3
# print(a[:9:3]) # 从首取到9(包括),步长3
# 二维数组的切片取值
b = np.arange(1, 25).reshape(2, 3, 4) # 将一维的数组变为2*3*4的三维数组
# print(b)
'''
[[[ 1 2 3 4]
[ 5 6 7 8]
[ 9 10 11 12]]
[[13 14 15 16]
[17 18 19 20]
[21 22 23 24]]]
'''
print(b[:, 0, 0]