Hello! 欢迎来到小浪资源网!



Python字符串截取:为什么print(s[-2:-5])返回空?


Python字符串截取:为什么print(s[-2:-5])返回空?

python字符串截取时遇到困惑

在截取字符串时,遇到 print(s[-2:-5]) 返回空的问题。这是因为我们对步长存在误解。

python中,截取字符串时,使用如下语法:

str[start:end:step]

其中:

立即学习Python免费学习笔记(深入)”;

  • start:起始索引,包含在截取结果中(0 为字符串开头)
  • end:结束索引,不包含在截取结果中(len(str) 为字符串结尾)
  • step:步长,默认为 1

在问题中,你的目标是从倒数第二个字符到倒数第四个字符,即 ‘fde’。然而,你设置的步长为 1,这会导致跳过中间字符。

正确的做法是将步长设置为 -1,表示向后迭代。这样,就能得到预期的结果:

s = 'abcdefg' print(s[-2:-5:-1])  # 输出 'fde'

因此,当需要从后往前截取字符串时,必须使用负步长,例如 -1 或 -2。

相关阅读