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定时杀进程
Jun 06 Python
浅谈numpy中linspace的用法 (等差数列创建函数)
Jun 07 Python
Python3 Post登录并且保存cookie登录其他页面的方法
Dec 28 Python
PySide和PyQt加载ui文件的两种方法
Feb 27 Python
树莓派与PC端在局域网内运用python实现即时通讯
Jun 22 Python
pandas实现to_sql将DataFrame保存到数据库中
Jul 03 Python
pytorch中图像的数据格式实例
Feb 11 Python
Python模块/包/库安装的六种方法及区别
Feb 24 Python
Python 读取xml数据,cv2裁剪图片实例
Mar 10 Python
Python中实现输入一个整数的案例
May 03 Python
python如何设置静态变量
Sep 07 Python
使用django自带的user做外键的方法
Nov 30 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
域名查询代码公布
2006/10/09 PHP
使用PHP反射机制来构造"CREATE TABLE"的sql语句
2019/03/21 PHP
php 利用socket发送GET,POST请求的实例代码
2020/07/04 PHP
jquery uaMatch源代码
2011/02/14 Javascript
js调用webservice中的方法实现思路及代码
2013/02/25 Javascript
JavaScript识别网页关键字并进行描红的方法
2015/11/09 Javascript
详解JS面向对象编程
2016/01/24 Javascript
js+css绘制颜色动态变化的圈中圈效果
2016/01/27 Javascript
JS添加或修改控件的样式(Class)实现方法
2016/10/15 Javascript
JavaScript函数节流的两种写法
2017/04/07 Javascript
JavaScript简单拖拽效果(1)
2017/05/17 Javascript
实现单层json按照key字母顺序排序的示例
2017/12/06 Javascript
基于vue-resource jsonp跨域问题的解决方法
2018/02/03 Javascript
详解如何配置vue-cli3.0的vue.config.js
2018/08/23 Javascript
layui switch 开关监听 弹出确定状态转换的例子
2019/09/21 Javascript
JavaScript中的null和undefined用法解析
2019/09/30 Javascript
使用webpack/gulp构建TypeScript项目的方法示例
2019/12/18 Javascript
浅谈vue中$event理解和框架中在包含默认值外传参
2020/08/07 Javascript
[01:01:41]DOTA2-DPC中国联赛 正赛 PSG.LGD vs Magma BO3 第二场 1月31日
2021/03/11 DOTA
python网络编程学习笔记(五):socket的一些补充
2014/06/09 Python
Python在Windows和在Linux下调用动态链接库的教程
2015/08/18 Python
python基于pygame实现响应游戏中事件的方法(附源码)
2015/11/11 Python
Python实现Linux命令xxd -i功能
2016/03/06 Python
python实现上传下载文件功能
2020/11/19 Python
pandas数值计算与排序方法
2018/04/12 Python
python输出决策树图形的例子
2019/08/09 Python
Python数据库小程序源代码
2019/09/15 Python
用 Python 制作地球仪的方法
2020/04/24 Python
django实现日志按日期分割
2020/05/21 Python
加拿大租车网站:Enterprise Rent-A-Car
2018/07/26 全球购物
安全的后院和健身蹦床:JumpSport
2019/07/15 全球购物
求职简历自我评价范例
2014/03/12 职场文书
财务工作检讨书
2014/10/29 职场文书
构建和谐校园倡议书
2015/01/19 职场文书
出国留学英文自荐信
2015/03/25 职场文书
Python学习之迭代器详解
2022/04/01 Python