切片,也就是取字符串的子串
str[begin:end]
從begin的位置開始(包括該位置的元素)一直到end(不包括end位置的元素)的位置的子串
str = 'abcdefg'
print(str[2:5])
>>> cde
從第二個開始逞壁,取到倒數(shù)第二個元素
倒數(shù)第二個元素這里也可以用負數(shù)
str = 'abcdefg'
print(str[2:-1])
>>> bcdef
截取從第二個元素開始,一直取到最后的子串
結(jié)束位置不寫斟览,則一直取到字符串結(jié)尾
str = 'abcdefg'
print(str[2:])
>>> bcdefg
步長
默認的步長是1
str = 'abcdefg'
print(str[2:-1:2])
>>> bdf
字符串逆序
str = 'abcdefg'
print(str[-1::-1])
>>> gfedcba
字符串逆序轴猎,則起始位置就是-1,結(jié)束位置不寫默認就是到結(jié)尾廓脆,而這個結(jié)尾是最左邊還是最右邊筛谚,就由步長來決定。
步長是整數(shù)停忿,則表示向右取字符串驾讲,所以結(jié)尾位置就是最右側(cè)元素。
步長是負數(shù)席赂,則表示從右向左取字符串吮铭,所以結(jié)束位置就是最左側(cè)元素
所以,[-1::-1],就表示從右側(cè)第一個元素開始取颅停,向左依次取元素谓晌。從而完成了字符串逆序。
print(str[::-1])
>>> gfedcba
而其實起始位置也是可以省略癞揉,當起始位置和結(jié)束位置都省略的時候就是整個字符串纸肉。
而步長為負數(shù)的時候溺欧,表示從右向左取字符串。
所以這時候的起始位置就是最右側(cè)毁靶,結(jié)束位置是最左側(cè)。
這樣就完成了字符串逆序