1.切断
之前用到切断都是 [start:end]这样的,最近刷题目时候需要反转切断,这时候
就需要第三位参数#step,也就是 [start:end:step]。
参数step可以为正数或者负数,如果是正数就是从左往右,负数就是从右往左。
例1: a = "74981" b = a[0:5:2]
Index: 0 1 2 3 4
a : 7 4 9 8 1
b的切断范围就是a的[0:5],从左往右,第一个值为7,然后移动2step,获得第
二个值为9,然后再移动2step,获得第三个值为1,再移动就out of range了,
就停止,返还获得的值,所以:
b : 7 9 1
例2: a = "74981" b = a[4::-1]
Index: 0 1 2 3 4
a : 7 4 9 8 1
b的切断范围就是a的[4:],从右往左,第一个值为1,然后移动1step,获得第二
个值为8,然后移动1step,获得第二个值为9,依此类推获得4 和 7,直到
out of range的时候停止,并且返还所获得的值,所以:
b : 1 8 9 4 7
例3: a = "74981" b = a[0:5:-1]
这次返还的值为空,因为a[0:5]的方向是从左到右,但是-1给的step是从右往
左,两边没有合集,所以返还为空。
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
2. strip, lstrip和rstrip
strip就是把一条string中符合参数的字符去掉:
test1 = "aaabbbccc"
s1 = test1.strip('ac')
lstrip和rstrip也比较简单,lstrip就是从左边开始去除,rstrip就是从右边
开始去除,但是值得注意的是,去除是按序去除的,比如lstrip就是从左边开始,
直到下一个字符不包含在参数中,就返还获得的值。
test1 = "aaabbbccc"
s1 = test1.lstrip('ac')
test1 = "aaabbbccc"
s1 = test1.rstrip('ac')