[Python]切片Slice的运用
- 2020 年 3 月 10 日
- 筆記
文章目录
- @[toc]
- 0. 环境
- 1. 切片操作
- 1.1. 简介
- 1.2. 举例说明
- eg.1. 取第1元素
- eg.2. 取最后1个元素
- eg.3. 复制整个列表
- eg.4. 取前10个元素
- eg.5. 取前10个元素
- eg.6. 取从第11个元素到第20个元素
- eg.7.1. 每隔10个取一个数,从开始
- eg.7.2. 每隔10个取一个数,从第50个元素(51)开始
- eg.7.3. 每隔10个取一个数,从第50个元素(51)开始,到第89个元素(90)
- eg.8. 取后10个元素
- 1.3. 简单运用
- 2. 参考文献
Python切片Slice的运用
0. 环境
Python 3.6
1. 切片操作
1.1. 简介
取指定索引范围的操作,用循环十分繁琐,因此Python
提供了切片(Slice
)操作符,能大大简化这种操作。
一个完整的切片表达式包含两个:
,用于分隔三个参数(start_index、end_index、step)
,当只有一个:
时,默认第三个参数step=1
。
# 切片操作基本表达式 object[start_index : end_index : step]

1.2. 举例说明
先设置一个列表从1到100,含有100个元素
# 创建列表 L= [1, 2, ..., 99, 100] L = list(range(1, 101))
eg.1. 取第1元素
>> L[0] 1
eg.2. 取最后1个元素
>> L[-1] 100
eg.3. 复制整个列表
>> L[:] [1, 2, ..., 99, 100]
eg.4. 取前10个元素
>> L[:10] [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
eg.5. 取前10个元素
>> L[:10] # 或者 L[0:10] [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
eg.6. 取从第11个元素到第20个元素
>> L[10:20] [11, 12, 13, 14, 15, 16, 17, 18, 19, 20]
注意:
L[10]
为11
L[20]
为21
eg.7.1. 每隔10个取一个数,从开始
>> L[::10] # 或者 L[0::10] [1, 11, 21, 31, 41, 51, 61, 71, 81, 91]
eg.7.2. 每隔10个取一个数,从第50个元素(51)开始
>> L[50::10] [51, 61, 71, 81, 91]
eg.7.3. 每隔10个取一个数,从第50个元素(51)开始,到第89个元素(90)
>> L[50:90:10] [51, 61, 71, 81]
eg.8. 取后10个元素
>> L[-10:] [91, 92, 93, 94, 95, 96, 97, 98, 99, 100]
注意:
L[-10:-1]
会刨除最后1个元素;L[-10,0]
会得到[]
1.3. 简单运用
用切片写一个 去掉字符串头尾空格的程序trim()
def trim(s): n = len(s) if n == 0: return s while s[0] == ' ': s = s[1:] n = n - 1 if n == 0: return s while s[-1] == ' ': s = s[:-1] n = n - 1 if n == 0: return s return s
测试代码
if trim('hello ') != 'hello': print('1. 测试失败!') elif trim(' hello') != 'hello': print('2. 测试失败!') elif trim(' hello ') != 'hello': print('3. 测试失败!') elif trim(' hello world ') != 'hello world': print('4. 测试失败!') elif trim('') != '': print('5. 测试失败!') elif trim(' ') != '': print('6. 测试失败!') else: print('trim() 函数测试成功!')
2. 参考文献
廖雪峰Python教程:https://www.liaoxuefeng.com/wiki/1016959663602400/1017269965565856
OK! 以上,Enjoy~