Python切片操作实例分析


Posted in Python onMarch 16, 2018

本文实例讲述了Python切片操作。分享给大家供大家参考,具体如下:

在很多编程语言中,针对字符串提供了截取函数,其实目的就是对字符串切片。Python没有针对字符串的截取函数,只需要切片操作就可以完成。

切片操作符是序列名后跟一个方括号,方括号中有3个可选的数字,并用冒号分割,数是可选的,而冒号是必须的

切片操作符中的第一个数表示切片开始的位置,第二个数表示切片到哪里结束,第三个数表示切片步长

如果不指定第一个数,Python就从序列首开始如果没有指定第二个数,则Python会停止在序列尾如果没有指定第三个数,则步长默认为1

注意返回的序列从开始位置开始 ,刚好在 结束 位置之前结束。即开始位置是包含在序列切片中的,而结束位置被排斥在切片外,构成了一个前闭后开区间 [ )

例如:

1》正向切片(步长是正整数

>>> s='love python!'
>>> s[2:9:2] #切片区间 [2,9),步长是2
'v yh'
>>> s[:5] #切片区间 [0,5),步长默认是1
'love '
>>> s[4:] #切片区间 [4,len(s)),步长默认是1
' python!'
>>> s[:] #切片区间 [0,len(s)),步长是1,返回整个序列的拷贝
'love python!'
>>> s[::2] #切片区间是 [0,len(s)),步长是2
'lv yhn'

Python序列倒数第一个元素的索引是-1,python同样支持负数索引切片。如:

>>> s
'love python!'
>>> s[-5:-2] #切片区间 [-5,-2),步长默认是1
'tho'
>>> s[:-1] #除了最后一个元素,其他的元素全部返回
'love python'
>>> s[-8::2] #切片区间 [-8,-1],步长是2
' yhn'

2》反向切片(步长是负数),如:

>>> s
'love python!'
>>> s[9:2:-1]
'ohtyp e'
>>> s[-1::-1] #返回序列的逆序序列
'!nohtyp evol'
>>> s[::-1] #返回序列的逆序序列
'!nohtyp evol'

另外,切片除了可以作用于字符串,也可以作用于元组和列表

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
Python中用startswith()函数判断字符串开头的教程
Apr 07 Python
python实现的jpg格式图片修复代码
Apr 21 Python
python写日志封装类实例
Jun 28 Python
Python的语言类型(详解)
Jun 24 Python
基于Python Numpy的数组array和矩阵matrix详解
Apr 04 Python
基于Python2、Python3中reload()的不同用法介绍
Aug 12 Python
Python小整数对象池和字符串intern实例解析
Mar 21 Python
Python CSS选择器爬取京东网商品信息过程解析
Jun 01 Python
Python SMTP发送电子邮件的示例
Sep 23 Python
python基于tkinter实现gif录屏功能
May 19 Python
python 如何在list中找Topk的数值和索引
May 20 Python
pandas中关于apply+lambda的应用
Feb 28 Python
Python+request+unittest实现接口测试框架集成实例
Mar 16 #Python
Python基础教程之内置函数locals()和globals()用法分析
Mar 16 #Python
python xlsxwriter库生成图表的应用示例
Mar 16 #Python
Python cookbook(数据结构与算法)实现对不原生支持比较操作的对象排序算法示例
Mar 15 #Python
python简单商城购物车实例代码
Mar 15 #Python
Python cookbook(数据结构与算法)通过公共键对字典列表排序算法示例
Mar 15 #Python
python批量实现Word文件转换为PDF文件
Mar 15 #Python
You might like
在数据量大(超过10万)的情况下
2007/01/15 PHP
Function eregi is deprecated (解决方法)
2013/06/21 PHP
PHP保留两位小数并且四舍五入及不四舍五入的方法
2013/09/22 PHP
PHP的Socket网络编程入门指引
2015/08/11 PHP
Avengerls vs Newbee BO3 第三场2.18
2021/03/10 DOTA
JavaScript中使用ActiveXObject操作本地文件夹的方法
2014/03/28 Javascript
使用node.js半年来总结的 10 条经验
2014/08/18 Javascript
jquery实现html页面 div 假分页有原理有代码
2014/09/06 Javascript
浅谈被jQuery抛弃的函数及替代函数
2015/05/03 Javascript
跟我学习javascript的全局变量
2015/11/16 Javascript
Highcharts 多个Y轴动态刷新数据的实现代码
2016/05/28 Javascript
bootstrap daterangepicker汉化以及扩展功能
2017/06/15 Javascript
jQuery图片查看插件Magnify开发详解
2017/12/25 jQuery
解决循环中setTimeout执行顺序的问题
2018/06/20 Javascript
layui的table单击行勾选checkbox功能方法
2018/08/14 Javascript
小程序如何使用分包加载的实现方法
2019/05/22 Javascript
基于Vue+Webpack拆分路由文件实现管理
2020/11/16 Javascript
[58:15]2018DOTA2亚洲邀请赛 4.1 小组赛 A组 NB vs Liquid
2018/04/02 DOTA
Python对文件和目录进行操作的方法(file对象/os/os.path/shutil 模块)
2017/05/08 Python
详解K-means算法在Python中的实现
2017/12/05 Python
python 对txt中每行内容进行批量替换的方法
2018/07/11 Python
PyQt5 QListWidget选择多项并返回的实例
2019/06/17 Python
python使用paramiko模块通过ssh2协议对交换机进行配置的方法
2019/07/25 Python
Python监听剪切板实现方法代码实例
2020/11/11 Python
解决pip安装tensorflow中出现的no module named tensorflow.python 问题方法
2021/02/20 Python
CSS3制作ajax loader icon实现思路及代码
2013/08/25 HTML / CSS
中粮集团旗下食品网上购物网站:我买网
2016/09/22 全球购物
最新销售员个人自荐信
2013/09/21 职场文书
十八届三中全会报告学习材料
2014/02/17 职场文书
机修工工作职责
2014/02/21 职场文书
车辆转让协议书
2014/04/15 职场文书
2014年售票员工作总结
2014/11/19 职场文书
监护人证明
2015/06/19 职场文书
大学班长竞选稿
2015/11/20 职场文书
详解MySQL连接挂死的原因
2021/05/18 MySQL
JavaScript中时间格式化新思路toLocaleString()
2021/11/07 Javascript