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

Python如何修复遍历字符串时重复字符返回首次索引的问题

问题原因

你的代码问题出在str.index()方法的固有特性上:该方法始终返回指定字符在字符串中首次出现的下标,所以遇到重复字符时,就会返回错误的索引值。

修复方案

可以用Python内置的enumerate()函数遍历字符串,这个函数会同时返回当前元素的序列下标和元素本身,天然适配你的需求:

Python 2 兼容版本(匹配你原有代码的语法风格)

def order(word):
    for idx, each in enumerate(word):
        print str(idx) + ": " + each

Python 3 版本

def order(word):
    for idx, each in enumerate(word):
        print(f"{idx}: {each}")

可选替代写法

如果不想用enumerate,也可以通过遍历字符串长度的下标实现,效果完全一致:

def order(word):
    for i in range(len(word)):
        print str(i) + ": " + word[i]

调用order("Hall")测试,即可得到你需要的输出:

0: H
1: a
2: l
3: l

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.17 17:36:04