Python 的切片操作以及 利用步长对序列进行倒序取值
来源:互联网 发布:网络机顶盒ir接口 编辑:程序博客网 时间:2024/06/04 23:36
切片操作:
对于具有序列结构的数据来说,切片操作的方法是:consequence[start_index: end_index: step]。
start_index:表示是第一个元素对象,正索引位置默认为0;负索引位置默认为 -len(consequence)
end_index:表示是最后一个元素对象,正索引位置默认为 len(consequence)-1;负索引位置默认为 -1。
step:表示取值的步长,默认为1,步长值不能为0。
几种常见的表达:
con[start_index: ]:缺省end_index,表示从start_index开始到序列中最后一个对象。
con[: end_index]:缺省start_index,表示从序列中第一个对象到end_index-1之间的片段。
con[:]:缺省start_index和end_index,表示从第一个对象到最后一个对象的完整片段。
con[::step]:缺省start_index和end_index,表示对整个序列按照索引可以被step整除的规则取值。
在使用单索引对序列寻址取值时,你所输入的索引值必须是处于 -len(consequence) 到 len(consequence)-1 之间的值,否则会报错提示索引值超出范围。如:
- >>> a=[1,2,3,4,5,6,7]
- >>> a[len(a)-1]
- 7
- >>> a[-len(a)]
- 1
- >>> a[len(a)]
- Traceback (most recent call last):
- File "<pyshell#98>", line 1, in <module>
- a[len(a)]
- IndexError: list index out of range
- >>> a[-len(a)-1]
- Traceback (most recent call last):
- File "<pyshell#99>", line 1, in <module>
- a[-len(a)-1]
- IndexError: list index out of range
利用步长对序列进行倒序取值:
- >>> a=[1,2,3,4,5,6,7]
- >>> b=(1,2,3,4,5,6,7)
- >>> c='Let me show you a little thing'
- >>> a[::-1]
- [7, 6, 5, 4, 3, 2, 1]
- >>> b[::-1]
- (7, 6, 5, 4, 3, 2, 1)
- >>> c[::-1]
- 'gniht elttil a uoy wohs em teL'
- >>> a
- [1, 2, 3, 4, 5, 6, 7]
- >>> b
- (1, 2, 3, 4, 5, 6, 7)
- >>> c
- 'Let me show you a little thing'
- >>> a.reverse()
- >>> a
- [7, 6, 5, 4, 3, 2, 1]
相对reverse而言,切片的方法不会改变列表的结构,所以这是在实际应用中比较有用的一个技巧。
0 0
- Python 的切片操作以及 利用步长对序列进行倒序取值
- python序列的切片操作
- python如何对list进行切片操作
- Python序列的切片操作符使用
- Python序列的切片操作与技巧
- Python 序列的切片操作与技巧
- Python序列的切片操作与技巧
- [Python] 对字符串,列表的切片操作
- Python高级编程-如何对迭代器进行切片操作?
- Python的序列切片
- python 对list进行切片
- python 对List进行切片
- 利用python对DNS进行的一系列操作
- Python 序列的切片操作与技巧 详细讲解
- Python的切片操作
- Python 小练习 倒序切片
- python之对list进行切片学习
- python-9-如何对迭代器做切片操作?
- swift 如何上传图片到django 的后台服务器
- Jeecg-P3 1.0.1版本发布,轻量级微服务框架
- 2_MongoDB基础使用
- java 发送邮件
- 用Fragment+FragmentTabHost++ViewPager 实现底部菜单栏
- Python 的切片操作以及 利用步长对序列进行倒序取值
- vim 命令
- DataRecord
- 教你如何第一时间获取MindManager 2017
- 线程详解
- 关于一个项目中引入子项目的问题
- ie6至兼容
- mysql 增量导入到elasticsearch
- 解决火狐浏览器下载文件文件名乱码的问题