欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

切片(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('测试成功!')