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实现dnspod自动更新dns解析的方法
Feb 14 Python
Python获取系统默认字符编码的方法
Jun 04 Python
在Python的Django框架中编写错误提示页面
Jul 22 Python
Python使用urllib2模块抓取HTML页面资源的实例分享
May 03 Python
Python数据分析之获取双色球历史信息的方法示例
Feb 03 Python
对python中raw_input()和input()的用法详解
Apr 22 Python
学生信息管理系统Python面向对象版
Jan 30 Python
python 实现在tkinter中动态显示label图片的方法
Jun 13 Python
Python实现PyPDF2处理PDF文件的方法示例
Sep 25 Python
python 绘制场景热力图的示例
Sep 23 Python
python Selenium 库的使用技巧
Oct 16 Python
Python 转移文件至云对象存储的方法
Feb 07 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
PHP 检查扩展库或函数是否可用的代码
2010/04/06 PHP
深入理解:单一入口、MVC、ORM、CURD、ActiveRecord概念
2013/06/06 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(十二)
2014/06/25 PHP
yiic命令时提示“php.exe”不是内部或外部命令的解决方法
2014/12/18 PHP
thinkPHP数据库增删改查操作方法实例详解
2016/12/06 PHP
php实现图片按比例截取的方法
2017/02/06 PHP
PHP判断是否微信访问的方法示例
2019/03/27 PHP
JS取文本框中最小值的简单实例
2013/11/29 Javascript
js获取视频时长代码
2014/04/10 Javascript
JavaScript中操作字符串之localeCompare()方法的使用
2015/06/06 Javascript
详解JavaScript时间格式化
2015/12/23 Javascript
js代码实现下拉菜单【推荐】
2016/12/15 Javascript
JavaScript中从setTimeout与setInterval到AJAX异步
2017/02/13 Javascript
ES6下子组件调用父组件的方法(推荐)
2018/02/23 Javascript
vue keep-alive 动态删除组件缓存的例子
2019/11/04 Javascript
Nuxt v-bind绑定img src不显示的解决
2019/12/05 Javascript
JS图片预加载三种实现方法解析
2020/05/08 Javascript
[08:06]DOTA2-DPC中国联赛 正赛 PSG.LGD vs Elephant 选手采访
2021/03/11 DOTA
python线程锁(thread)学习示例
2013/12/04 Python
python实现机械分词之逆向最大匹配算法代码示例
2017/12/13 Python
Python3使用SMTP发送带附件邮件
2020/06/16 Python
PyCharm代码整体缩进,反向缩进的方法
2018/06/25 Python
pandas 将索引值相加的方法
2018/11/15 Python
对django views中 request, response的常用操作详解
2019/07/17 Python
python生成器用法实例详解
2019/11/22 Python
使用python快速实现不同机器间文件夹共享方式
2019/12/22 Python
通过python 执行 nohup 不生效的解决
2020/04/16 Python
Python操作Elasticsearch处理timeout超时
2020/07/17 Python
python中操作文件的模块的方法总结
2021/02/04 Python
html5指南-7.geolocation结合google maps开发一个小的应用
2013/01/07 HTML / CSS
New Balance比利时官方网站:购买鞋子和服装
2021/01/15 全球购物
自荐信结尾
2013/10/27 职场文书
2014年保密工作总结
2014/11/22 职场文书
2014年禁毒工作总结
2014/11/24 职场文书
热血教师观后感
2015/06/10 职场文书
趣味运动会广播稿
2015/08/19 职场文书