切片(Slice)
程序员文章站
2022-04-30 22:44:32
Python提供了切片(Slice)操作符:可以一次取出多个列表元素 L[0:3]表示,从索引0开始取,直到索引3为止,但不包括索引3。0可以省略:L[:3] L[:]:就是整个列表 补充: 前10个数,每两个取一个: >>> L[:10:2] [0, 2, 4, 6, 8] s[:2:-1]表示从 ......
python提供了切片(slice)操作符:可以一次取出多个列表元素
l[0:3]表示,从索引0开始取,直到索引3为止,但不包括索引3。0可以省略:l[:3]
l[:]:就是整个列表
补充:
前10个数,每两个取一个:
>>> l[:10:2] [0, 2, 4, 6, 8]
s[:2:-1]表示从最后一个元素开始到下标为2的数截止
[:-1]:从开始第一个到最后一个的所有元素
[::-1]:从最后一个开始到第一个的所有元素
tuple也是一种list,唯一区别是tuple不可变。因此,tuple也可以用切片操作,只是操作的结果仍是tuple:
字符串'xxx'也可以看成是一种list,每个元素就是一个字符。因此,字符串也可以用切片操作,只是操作结果仍是字符串:
实例:
1 # -*- coding: utf-8 -*- 2 # 利用切片操作,实现一个trim()函数,去除字符串首尾的空格 3 def trim(s): 4 if len(s) != 0: 5 while s[:1] == ' ': 6 s = s[1:] 7 while s[-1:] == ' ': 8 s = s[:-1] 9 return s 10 # 测试: 11 if trim('hello ') != 'hello': 12 print('测试失败!') 13 elif trim(' hello') != 'hello': 14 print('测试失败!') 15 elif trim(' hello ') != 'hello': 16 print('测试失败!') 17 elif trim(' hello world ') != 'hello world': 18 print('测试失败!') 19 elif trim('') != '': 20 print('测试失败!') 21 elif trim(' ') != '': 22 print('测试失败!') 23 else: 24 print('测试成功!')