You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

range(len(input_string)-1, -1, -1)为何能实现字符串反转?

问题1:range(len(input_string)-1, -1, -1)的具体作用

Python内置range函数接收三个参数时的语法为range(start, stop, step),遍历遵循左闭右开规则,只会生成符合边界要求的整数序列,对应到这里的三个参数含义如下:

  • 第一个参数len(input_string)-1:Python字符串索引从0开始计数,长度为n的字符串最后一个字符的下标就是n-1,这里是把遍历的起始位置设为原字符串最后一个字符的下标
  • 第二个参数-1:受左闭右开规则限制,要让遍历覆盖到下标为0的第一个字符,就需要把终止边界设为-1,遍历到0之后会自动停止,不会读取不存在的-1下标
  • 第三个参数-1:设置步长为-1,每轮遍历的下标自动减1,实现从后往前倒序走的效果

举个实际例子:如果输入字符串是"hello",长度为5,这个range生成的整数序列就是4,3,2,1,0,正好对应原字符串从最后一位到第一位的所有下标。

问题2:为什么遍历该range就能得到反转结果

字符串支持通过下标直接读取对应位置的字符,你在循环中按倒序下标依次取原字符串的字符,逐个拼接到初始为空的reverse_input变量中,最终就会得到反转后的字符串。
还是以"hello"为例,遍历拼接过程如下:

  • i=4时取到字符o,reverse_input = "o"
  • i=3时取到字符l,reverse_input = "ol"
  • i=2时取到字符l,reverse_input = "oll"
  • i=1时取到字符e,reverse_input = "olle"
  • i=0时取到字符h,reverse_input = "olleh"
    遍历完成后返回的就是原字符串的反转结果。

内容的提问来源于stack exchange,提问作者kr003

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 03:15:03