python学习笔记之--切片操作

2021-12-06  本文已影响0人  itsenlin

适用对象

切片操作适用于序列类型对象:list、tuple、string
这些对象都类似于c语言的数组,可以通过下标访问对象中的元素,但是有一点不一样,这个下标在python中是可以取负数的,如下:

image.png

其中:正值是从左到右,范围[0, n-1];负值是从右到左,范围[-1, -n];
即str[0] == str[-11]

切片操作

切片操作由[]以及三个参数组成,三个参数由:分隔,如下

[start:end:step]

常用操作

start,end,step默认情况下取正值,当start>=end时,结果为空

>>> str[0:11:1]
'hello world'
>>> str[0:11:]
'hello world'
>>> str[:11:]
'hello world'
>>> str[::]
'hello world'
>>> str[::2]
'hlowrd'
>>> 

复杂操作

start,end,step三个参数也可以取负值,并且正负还可以混用,如下

>>> str[::-1]
'dlrow olleh'
>>> str[-11::-1]
'h'
>>> str[-11:-1:1]
'hello worl'
>>> str[-12:-1:1]
'hello worl'
>>> str[0:-1:1]
'hello worl'
>>> str[0:-1:-1]
''
>>>

使用原则

看上面的操作是不是感觉很乱,确实,这就是更多的自由带来的烦恼,就像c语言的指针操作
但是如果能掌握其使用的原则,一般是可以避免混乱造成的错误

>>> str[0:10:2]
'hlowr'
>>> str[0:10:-2]
''
>>> str[-11:-1:-2]
''
>>> str[-11:-1:2]
'hlowr'
>>> str[0:-1:2]
'hlowr'
>>> str[0:-1:-2]
''
>>> 
>>> str[0::-1]
'h'
>>> str[0::1]
'hello world'
>>> str[:0:1]
''
>>> str[:0:-1]
'dlrow olle'
>>>
上一篇 下一篇

猜你喜欢

热点阅读