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 寻找优化使成本函数最小的最优解的方法
Dec 28 Python
python+opencv轮廓检测代码解析
Jan 05 Python
Tensorflow的可视化工具Tensorboard的初步使用详解
Feb 11 Python
Python I/O与进程的详细讲解
Mar 08 Python
python多线程抽象编程模型详解
Mar 20 Python
华为校园招聘上机笔试题 扑克牌大小(python)
Apr 22 Python
python+jinja2实现接口数据批量生成工具
Aug 28 Python
详解mac python+selenium+Chrome 简单案例
Nov 08 Python
Python生成器常见问题及解决方案
Mar 21 Python
Python实现猜年龄游戏代码实例
Mar 25 Python
django queryset 去重 .distinct()说明
May 19 Python
用python-webdriver实现自动填表的示例代码
Jan 13 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微信公众开发之获取周边酒店信息的方法
2014/12/22 PHP
Thinkphp模板标签if和eq的区别和比较实例分析
2015/07/01 PHP
分享五个PHP7性能优化提升技巧
2015/12/07 PHP
PHP随机数函数rand()与mt_rand()的讲解
2019/03/25 PHP
laravel5.6中的外键约束示例
2019/10/23 PHP
js 未结束的字符串常量错误解决方法
2010/06/13 Javascript
jQuery版Tab标签切换
2011/03/16 Javascript
javascript模拟实现ajax加载框实例
2014/10/15 Javascript
浅谈Javascript如何实现匀速运动
2014/12/19 Javascript
Jquery+ajax+JAVA(servlet)实现下拉菜单异步取值
2016/03/23 Javascript
详解JavaScript中的自定义事件编写
2016/05/10 Javascript
浅谈jquery之on()绑定事件和off()解除绑定事件
2016/10/26 Javascript
微信页面倒计时代码(解决safari不兼容date的问题)
2016/12/13 Javascript
漂亮实用的页面loading(加载)封装代码
2017/02/03 Javascript
JavaScript关联数组用法分析【概念、定义、遍历】
2017/03/15 Javascript
Vue+ElementUI使用vue-pdf实现预览功能
2019/11/26 Javascript
[02:52]DOTA2新手基础教程 米波
2014/01/21 DOTA
[01:44]剑指西雅图 展望TI之CIS战队专访
2014/06/25 DOTA
[01:28:44]DOTA2-DPC中国联赛定级赛 RNG vs iG BO3第一场 1月10日
2021/03/11 DOTA
python使用rabbitmq实现网络爬虫示例
2014/02/20 Python
在Django框架中运行Python应用全攻略
2015/07/17 Python
python学习必备知识汇总
2017/09/08 Python
Python3.4编程实现简单抓取爬虫功能示例
2017/09/14 Python
Python zip()函数用法实例分析
2018/03/17 Python
python3实现域名查询和whois查询功能
2018/06/21 Python
django利用request id便于定位及给日志加上request_id
2018/08/26 Python
ML神器:sklearn的快速使用及入门
2019/07/11 Python
使用html5 canvas创建太空游戏的示例
2014/05/08 HTML / CSS
大学生优秀班干部事迹材料
2014/05/26 职场文书
任命书格式
2014/06/05 职场文书
大学生联谊活动策划书(光棍节)
2014/10/10 职场文书
党员争先创优承诺书
2015/01/20 职场文书
感谢信范文大全
2015/01/23 职场文书
泰山导游词
2015/02/02 职场文书
责任书范本大全
2015/05/11 职场文书
关于flex 上下文中自动 margin的问题(完整例子)
2021/05/20 HTML / CSS