1. 苏葳的备忘录首页
  2. 编程

Python中序列的切片

python 切片 序列序列是Python中一种数据结构,这种数据结构根据索引来获取序列中的对象。Python中含有六种内建序列类:list,tuple,string, unicode,buffer,xrange。通常来说,具有序列结构的数据类型都可以使用切片操作。切片操作符是序列名后跟一个方括号,方括号中有一对可选的数字,并用冒号分割。注意这与我们使用的索引操作符十分相似。数字是可选的,但冒号是必须的。下面是个切片的例子:

aa=’1234568‘
aa[0]='1'
aa[-1]='8'

切片操作:

aa[:-1]='123456'=aa[len(aa)-1]
aa[2:]='34568'
aa[:]='1234568'

而切片还有第3个参数:步长:

aa[::2]='1358'
aa[1:5:2]='24'

为何没有6呢?因为切片从下限到上限,但上限值是不含在内的。 然而若步长为负值,则分片会逆向进行 如aa[1:5:-2]返回的值为空。 正确的使用方法是aa[5:1:-2]=’64’ 原因是在步长为负的前提下,分片从右往左,即上下限位置与步长为正时要调换,所以aa[1:5]这种下限比上限还大的情况自然要返回为空了。

分片的实际应用场景,在为程序提供输入参数时:

#test.py
import sys
print sys.argv
%python test.py -a -b -c
['test.py','-a','-b','-c']

此时[1:]就能分离出参数部份。

原创文章,作者:苏葳,如需转载,请注明出处:https://www.swmemo.com/430.html

发表评论

邮箱地址不会被公开。 必填项已用*标注