Python切片知识解析

yipeiwu_com5年前Python基础

切片原型 strs = ‘abcdefg'

Strs[start: end:step]

切片的三个参数分别表开始,结束,步长

第一位下标为0,end位不取,如strs[1:3] = ‘bc'

如果start,end超出现有数组范围,按实际范围截断strs[-100:100]='abcdefg'

Step为空时,缺省值为1

Strs[1:5] = ‘bcde' strs[1:5:2] = ‘bd'

Step为正时,start<end,否则为空

Strs[5:1] = ‘'

Start为空,默认为负无穷 strs[:4] = ‘abcd'

End为空,默认为正无穷 strs[2:] = ‘cdefg'

Strs[:] = ‘abcdefg'

Step为负时, start>end, 否则为空
Strs[1:5:-1] = ‘'

Start为空,默认为正无穷 strs[:2:-1] = ‘gfed'

End为空,默认为负无穷 strs[4::-1] = ‘edcba'

Strs[::-1] = ‘gfedcba'

python 切片

切片操作符是序列名后跟一个方括号,方括号中有一对可选的数字,并用冒号分割。注意这与你使用的索引操作符十分相似。记住数是可选的,而冒号是必须的。

切片操作符中的第一个数(冒号之前)表示切片开始的位置,第二个数(冒号之后)表示切片到哪里结束,第三个数(冒号之后)表示切片间隔数。如果不指定第一个数,Python就从序列首开始。如果没有指定第二个数,则Python会停止在序列尾。注意,返回的序列从开始位置开始 ,刚好在 结束 位置之前结束。即开始位置是包含在序列切片中的,而结束位置被排斥在切片外。

这样,shoplist[1:3]返回从位置1开始,包括位置2,但是停止在位置3的一个序列切片,因此返回一个含有两个项目的切片。类似地,shoplist[:]返回整个序列的拷贝。shoplist[::3]返回位置3,位置6,位置9…的序列切片。

你可以用负数做切片。负数用在从序列尾开始计算的位置。例如,shoplist[:-1]会返回除了最后一个项目外包含所有项目的序列切片,shoplist[::-1]会返回倒序序列切片。

使用Python解释器交互地尝试不同切片指定组合,即在提示符下你能够马上看到结果。序列的神奇之处在于你可以用相同的方法访问元组、列表和字符串。

相关文章

用Python设计一个经典小游戏

用Python设计一个经典小游戏

本文主要介绍如何用Python设计一个经典小游戏:猜大小。 在这个游戏中,将用到前面我介绍过的所有内容:变量的使用、参数传递、函数设计、条件控制和循环等,做个整体的总结和复习。 游戏规则...

Django框架教程之正则表达式URL误区详解

Django框架教程之正则表达式URL误区详解

前言 利用Django开发网站,可以设计出非常优美的url规则,如果url的匹配规则(包含正则表达式)组织得比较好,view的结构就会比较清晰,比较容易维护。但这其中可能会有一些误区,下...

详解Python中的Descriptor描述符类

描述符是调和属性访问的一个类。描述符类可用来获取、设置或删除属性值。描述符对象是在类定义的时候构建在一个类中的。 一般来说,描述符是一个具有绑定行为的对象属性,其属性的访问被描述符协议方...

实例Python处理XML文件的方法

需求 有一个表,里面数据量比较大,每天一更新,其字段可以通过xml配置文件进行配置,即,可能每次建表的字段不一样。 上游跑时会根据配置从源文件中提取,到入库这一步需要根据配置进行建表。...

python字典多条件排序方法实例

项目编写过程中,总能遇见对字典进行排序什么的,如果要实现多条件排序只需要下面几行代码实现。充分体现了python的好处了。 复制代码 代码如下: teamitems = [{'team'...