切片,也就是取字符串的子串
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
而其实起始位置也是可以省略,当起始位置和结束位置都省略的时候就是整个字符串。
而步长为负数的时候,表示从右向左取字符串。
所以这时候的起始位置就是最右侧,结束位置是最左侧。
这样就完成了字符串逆序