4 - 字符串切片

切片,也就是取字符串的子串

str[begin:end]

从begin的位置开始(包括该位置的元素)一直到end(不包括end位置的元素)的位置的子串

str = 'abcdefg'
print(str[2:5])

>>> cde

从第二个开始,取到倒数第二个元素

倒数第二个元素这里也可以用负数

str = 'abcdefg'
print(str[2:-1])

>>> bcdef

截取从第二个元素开始,一直取到最后的子串

结束位置不写,则一直取到字符串结尾

str = 'abcdefg'
print(str[2:])

>>> bcdefg

步长

默认的步长是1

str = 'abcdefg'
print(str[2:-1:2])

>>> bdf

字符串逆序

str = 'abcdefg'
print(str[-1::-1])

>>> gfedcba

字符串逆序,则起始位置就是-1,结束位置不写默认就是到结尾,而这个结尾是最左边还是最右边,就由步长来决定。

步长是整数,则表示向右取字符串,所以结尾位置就是最右侧元素。

步长是负数,则表示从右向左取字符串,所以结束位置就是最左侧元素

所以,[-1::-1],就表示从右侧第一个元素开始取,向左依次取元素。从而完成了字符串逆序。

print(str[::-1])

>>> gfedcba

而其实起始位置也是可以省略,当起始位置和结束位置都省略的时候就是整个字符串。

而步长为负数的时候,表示从右向左取字符串。

所以这时候的起始位置就是最右侧,结束位置是最左侧。

这样就完成了字符串逆序

推荐阅读更多精彩内容