Python字符串截取:为什么print(s[-2:-5])返回空?
python字符串截取时遇到困惑
在截取字符串时,遇到 print(s[-2:-5]) 返回空的问题。这是因为我们对步长存在误解。
在python中,截取字符串时,使用如下语法:
str[start:end:step]
其中:
- start:起始索引,包含在截取结果中(0 为字符串开头)
- end:结束索引,不包含在截取结果中(len(str) 为字符串结尾)
- step:步长,默认为 1
在问题中,你的目标是从倒数第二个字符到倒数第四个字符,即 'fde'。然而,你设置的步长为 1,这会导致跳过中间字符。
正确的做法是将步长设置为 -1,表示向后迭代。这样,就能得到预期的结果:
s = 'abcdefg' print(s[-2:-5:-1]) # 输出 'fde'
因此,当需要从后往前截取字符串时,必须使用负步长,例如 -1 或 -2。
以上就是Python字符串截取:为什么print(s[-2:-5])返回空?的详细内容,更多请关注硕下网其它相关文章!