问题
最近练习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