lijm1522 发表于 2017-5-1 15:25:33

python之切片操作符(Slice)

python之切片操作符(Slice)

字符串、列表、元组在python中都符合“序列”这一特征,只要符合这一特征的变量我们都可以用切片(slice)去存取它们的任意部分。我们可以把序列想像成一个队列,我可能需要前面三位、后面三位、或从第三位后的四位、或隔一个取一个等,我们用切片操作符来实现上述要求。

切片操作符在python中的原型是


即:[开始索引:结束索引:步长值]

开始索引:同其它语言一样,从0开始。序列从左向右方向中,第一个值的索引为0,最后一个为-1

结束索引:切片操作符将取到该索引为止,不包含该索引的值。

步长值:默认是一个接着一个切取,如果为2,则表示进行隔一取一操作。步长值为正时表示从左向右取,如果为负,则表示从右向左取。步长值不能为0




假设:


li =

print li                      #输出3,因为索引为2的值为3

print li                   #输出。从索引2开始取,到索引为4的5为止(不含5)

print li[-1]                     #输出7,反向取第一个

print li[-1:-5:2]            #输出空列表[],从反向第1个向反向第5个取,但步长为2,表示正向相隔二个取值。

print li[-1:-5:-2]            #输出



有时我们可以省略开始索引、结束索引,如:


li =

print li         #输出,省略终止索引,表示取起始索引之后的所有值,等效于li

print li[:3]         #输出,省略起始索引,表示从0开始取,等效于li

print li[:]            #输出,省略起始索引、终止索引、步长值表示取全部,等效于li

print li[::]         #输出,省略起始索引、终止索引、步长值表示取全部,等效于li

print li[::-1]      #输出,省略起始索引、终止索引,步长值为-1,表示反向获取

所以,不要为str类没有substring方法而感到困惑,用切片操作符吧。
页: [1]
查看完整版本: python之切片操作符(Slice)