Python切片操作实例分析

yipeiwu_com5年前Python基础

本文实例讲述了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函数使用技巧总结》、《Python字符串操作技巧汇总》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总

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

相关文章

解决python web项目意外关闭,但占用端口的问题

问题描述 因为项目强制关闭,但是服务还在运行,导致重新运行项目时候 提示地址已经使用(端口被占用) /usr/bin/python3.5 python-login-demo/inde...

django做form表单的数据验证过程详解

django做form表单的数据验证过程详解

我们之前写的代码都没有对前端input框输入的数据做验证,我们今天来看下,如果做form表单的数据的验证 在views文件做验证 首先用文字描述一下流程 1、在views文件中导入for...

Python数据分析之双色球统计单个红和蓝球哪个比例高的方法

Python数据分析之双色球统计单个红和蓝球哪个比例高的方法

本文实例讲述了Python数据分析之双色球统计单个红和蓝球哪个比例高的方法。分享给大家供大家参考,具体如下: 统计单个红球和蓝球,哪个组合最多,显示前19组数据 #!/usr/bin...

Python3日期与时间戳转换的几种方法详解

日期和时间的相互转换可以利用Python内置模块 time 和 datetime 完成,且有多种方法供我们选择,当然转换时我们可以直接利用当前时间或指定的字符串格式的时间格式。 获取当前...

详解Python中__str__和__repr__方法的区别

 对我当前工程进行全部测试需要花费不少时间。既然有 26 GB 空闲内存,为何不让其发挥余热呢? tmpfs 可以通过把文件系统保存在大内存中来加速测试的执行效率。 但...