数组切片[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]
相关文章推荐
- java新手如何简单的理解java数组中冒泡排序法是怎么实现排序的
- 数组和指针,怎么去理解?
- 深入理解golang — 数组(array)、切片(slice)、map
- 【Go入门学习】理解区分数组和切片
- java中数组,ArrayList与List的区别。(以为自己很熟悉,但一细想其实还是不怎么理解)
- 理解Golang中的数组(array)、切片(slice)和map
- java编程中引用数据类型就是类、接口、数组,怎么理解理引用的格式和意义了????
- 深入理解Go语言中的数组和切片
- 怎么理解数组的小标从0开始?
- 怎样理解“互联网+”以及怎么“+”?
- PHP 数组配置文件怎么用?
- 怎么更好地终极理解递归算法
- C+= 指针理解的通关测试:指针数组,数组指针,指针函数,函数指针,二级指针
- 三极管的三种工作状态究竟该怎么理解?
- icmp 反射请求怎么理解
- go语言数组和切片
- HTTP表单怎么理解
- c# action<> func<> 这2个委托怎么用和理解
- 深入理解php内核 编写扩展 II:参数、数组和ZVALs
- 深入理解 [指针函数] 、[函数指针]、[指针的指针]、[指向指针数组的指针]