对于列表
L1=["apple","banana","water","meet","hot"]
Print(l1[1:4]) 左闭右开
<<<["banana",
"water","meet"]
(1)整数索引
要获取数组的单个元素,指定元素的索引即可
import numpy as np
x=np.array([1,2,3,4,5,6,7,8])
print(x[2]) #3
(2)切片索引
切片操作是指抽取数组的一部分元素生成新数组。对python列表进行切片操作得到的数组是原数组的副本,而对Numpy数据进行切片操作得到的数组则是指向相同缓冲区的视图。
如果向抽取数组的一部分,必须使用切片语法,就是用几个冒号(start:stop:step)隔开的数字置于方括号内。
(开始位置:结束位置:步长)
step在这里的意思是切片的步长(step不能为0,默认为1)
若step>0,则示意从左向右切片,此时star必须小于end才有效果,否则为空
若step<0,则示意从右向左切片,此时star必须大于end才有效果,否则为空。
1:import numpy as np
2:
3:x=np.array([1,2,3,4,5,6,7,8])
4:print(x[0:2]) #[1 2]
5:print(x[1:5:2]) #[2 4]
6:print(x[2: ]) #[3 4 5 6 7 8]
7:print(x[ :2]) #[1 2])
8:print(x[-2: ]) #[7 8]
9:print(x[ :-2]) #[1 2 3 4 5 6]
10:print(x[ : ]) #[1 2 3 4 5 6 7 8]
11:print(x[ : :-1]) #[8 7 6 5 4 3 2 1]
第四行:左闭右开,从第0个开始到第1个结束
第五行:左闭右开,从第1个开始到第4个结束,但是中间相差两个元素
第六行:从第2个开始到最后一个结束
第七行:从第0个开始到第2个结束
第八行:从倒数第二个开始到最后一个结束
第九行:从第0个开始到倒数第二个结束
第十行:默认为从第0个开始到最后一个结束
第十一行:也是从第个开始到最后一个结束,但是遍历顺序负的,默认为倒着遍历
从右向左,以步长为1举行切片
(3)整数数组索引
方括号内传入多个索引值,可以同时选择多个元素
x=np.array([1,2,3,4,5,6,7,8])
r=[0,1,2]
print(x[r]) #输出的是x的第0个第1个和第2个元素
#[1 2 3]
(4)布尔索引
import numpy as np
x=np.array([1,2,3,4,5,6,7,8])
y=x>5
print(y)
#[False False False False False True True True True] #前5个元素都是小于等于5的,因此布尔值为False
print(x[x>5])
#[6 7 8]