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

Python中反向拆分字符串时如何避免结果自动排序?

问题解决:正确反转字符串得到目标列表

你的代码输出不是自动排序导致的,是索引逻辑出错了。原代码里range(len(sub_string))生成的是0,1,2,对应-i就是0,-1,-2:

  • sub_string[-0]等价于sub_string[0],取的是第一个字符'C'
  • sub_string[-1]取最后一个字符'C'
  • sub_string[-2]取倒数第二个字符'D'
    所以才得到['C','C','D']。

要得到原字符串的反转列表(即['C','D','C']),有几种简单方法:

方法1:用字符串切片(最简洁)

直接利用Python的切片语法反转字符串,再转成列表:

sub_string = "CDC"
rstring = list(sub_string[::-1])
print(rstring)  # 输出 ['C', 'D', 'C']

方法2:修正列表推导式的索引范围

把range(len(sub_string))改成range(1, len(sub_string)+1),让i从1开始到字符串长度:

sub_string = "CDC"
rstring = [sub_string[-i] for i in range(1, len(sub_string)+1)]
print(rstring)  # 输出 ['C', 'D', 'C']

这里i取1、2、3,对应-i是-1,-2,-3,正好依次取字符串的最后一个、倒数第二个、第一个字符。

方法3:使用reversed()函数

reversed()会返回一个反转的迭代器,转成列表即可:

sub_string = "CDC"
rstring = list(reversed(sub_string))
print(rstring)  # 输出 ['C', 'D', 'C']

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.09 20:07:42