您的位置:首页 > 其它

数组切片[1::2]怎么理解

2020-06-29 16:40 35 查看

python中数组切片

在数组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:])  # [1 2 3 4 5 6 7 8]
print(a[0::])  # [1 2 3 4 5 6 7 8 9]
print(a[1::2])  # [2 4 6 8]
b = a[::-1]
print(b)  # [9 8 7 6 5 4 3 2 1]
c = a[::-2]
print(c)  # [9 7 5 3 1]

生成数据a:

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:])  # [1 2 3 4 5 6 7 8]
print(a[0::])    # [1 2 3 4 5 6 7 8 9]

位置③设为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]
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: