知识点:
在数组或列表或字符串a中索引,正常补全有三个索引参数和两个冒号,a[①:②:③]。
- 位置①:数组或列表的初始索引,默认为0;
- 位置②:数组或列表的结束索引(不含),默认到最后一个元素(包含最后一个元素);
- 位置③:索引的步长,默认为1,可以连同最后一个冒号一起省略。
示例:
a = np.arange(1, 10)
print(a) # [1 2 3 4 5 6 7 8 9]
print(a[::]) # [1 2 3 4 5 6 7 8 9]
print(a[0::]) # [1 2 3 4 5 6 7 8 9]
# 位置 ③ 默认为1,所以可以连同最后一个冒号一起省略。
print(a[:]) # [1 2 3 4 5 6 7 8 9]
# 位置 ① ② 为负数时,表示倒数第几个元素
print(a[-3::]) # [7 8 9]
print(a[0:-1:]) # [1 2 3 4 5 6 7 8]
print(a[-3:-1:]) # [7 8]
# 位置 ③ 设为2时,从下标为1的元素(即a[1]为2开始),隔一个元素,读取一个元素。
print(a[1::2]) # [2 4 6 8]
# 位置 ③ 为负数时,从后向前读取数组中的元素,a[::-1]相当于将数组逆序。
b = a[::-1]
print(b) # [9 8 7 6 5 4 3 2 1]
c = a[::-2]
print(c) # [9 7 5 3 1]
常用应用:
- 1. 取出某数组或列表或字符串的前几个(或后几个或指定哪几个)元素(字符串也可以当作列表处理):
wav_name = 'SSB00050042.wav'
speaker = wav_name[:7] # SSB0005 前7个字符为speaker
- ?2. 取出某数组或列表或字符串的奇数(或偶数)索引元素:
text = '确 que4 认 ren4 退 tui4 出 chu1'
text = text.split(' ')[1::2] # ['que4', 'ren4', 'tui4', 'chu1']
a = [1, 2, 3, 4, 5]
print(a[::-1]) # [5, 4, 3, 2, 1]
a = '12345'
print(a[::-1]) # 54321
|