問題
最近練習Python的過程中,發現我要截取從某個位置開始到結尾的子串,卻想不出什么好方法實現。
比如"123456",我要"456"這個子串
錯誤的嘗試
我先開始是這樣獲取的:
str = "123456"
print(str[3:len(str)-1]+str[len(str)-1]) # 456
這樣太長太復雜冗余太高了有沒有!
然后我想起了python字符串中有兩套序列:
然后就改進成這個樣子:
str = "123456"
print(str[3:-1]+str[-1]) # 456
正確的做法
實際上[:]前后是可以省略的,於是乎可以這樣做:
str = "123456"
print(str[3:]) # 456
誒,這回看着才舒服,這才是Python 的簡潔之美呀
補充
正好寫到這里啦,補充測試一下截取字符串的各種用法吧~
str = "123456"
# 截取字符串的全部字符(好像沒啥用哈哈)
print(str[:]) # 123456
# 截取第一位到第三位的字符串
print(str[0:3]) # 123
# 截取從3個字符到結尾
print(str[3:]) # 456
# 截取從頭開始到倒數第三個字符之間的字符串
print(str[:-3]) # 123
# 創造一個逆序字符串
print(str[::-1]) # 654321