python利器之切片
2020-12-13 05:38
标签:font 一个 mamicode ali dash 数据 反序 lis 观察 切片 切片的语法表达式为: 切片操作是指按照步长,截取从起始索引到结束索引,但不包含结束索引(也就是结束索引减1)的所有元素。 下面列表为列:
图列一 一个简单的例子: 省略 保留 省略 省略 此时,如果我们将步长设为 下面这四种表达式是等价的: 观察图列一就可以得出,区间一致。 切片时,一定要保证 利用切片功能,编写一个函数trim(str),类似Python中的strip()功能——去除字符串首尾的空格: python利器之切片 标签:font 一个 mamicode ali dash 数据 反序 lis 观察 原文地址:https://www.cnblogs.com/ltb6w/p/11145034.html[start_index : end_index : step]
,其中:
start_index
表示起始索引end_index
表示结束索引step
表示步长,步长不能为0,且默认值为1
python3
支持切片操作的数据类型有list
、tuple
、string
、unicode
、range
alist=[‘A‘,‘B‘,‘C‘,‘D‘,‘E‘,‘F‘]
①alist[0:4:1]
②alist[0:4]
结果:[‘A‘, ‘B‘, ‘C‘, ‘D‘] ①和②结果一样,因为步长有默认值为1
alist[0:4:2]
结果:[‘A‘, ‘C‘]start_index
,保留end_index
,这样会从第一个元素开始,切到end_index - 1
的元素为止alist[:4]
[‘A‘, ‘B‘, ‘C‘, ‘D‘]
start_index
,但省略end_index
,这样会从起始索引开始,切到最后一个元素为止:alist[2:]
[‘C‘, ‘D‘, ‘E‘, ‘F‘]
start_index
、end_index
和step
,这样就表示就表示切片整个序列,也就是复制出了一个新的序列: alist[:]
[‘A‘, ‘B‘, ‘C‘, ‘D‘, ‘E‘, ‘F‘]
start_index
、end_index
,但保留step
,表示对整个序列,按照步长整除的规则取值:alist[::2]
[‘A‘, ‘C‘, ‘E‘]
-1
,那么就可以很方便的得到一个反序的序列了: alist[::-1]
[‘F‘, ‘E‘, ‘D‘, ‘C‘, ‘B‘, ‘A‘]
alist[0:4]
[‘A‘, ‘B‘, ‘C‘, ‘D‘]
alist[0:-2]
[‘A‘, ‘B‘, ‘C‘, ‘D‘]
alist[-6:4]
[‘A‘, ‘B‘, ‘C‘, ‘D‘]
alist[-6:-2]
[‘A‘, ‘B‘, ‘C‘, ‘D‘]
start_index
到end_index
的方向与步长step
的方向同向,否则会切出空的序列:alist[0:4:-1]
[]
alist[3:0:2]
[]
>>> def trim(str):
... while str[:1]==‘ ‘:
... str = str[1:]
... while str[-1:] == ‘ ‘:
... str = str[:-2]
... return str
...
>>> trim(‘ abc hh welcome! ‘)
‘abc hh welcome!‘