为什么Python字符串的.index()方法返回的字符索引不符合预期?
根因分析
str.index(x) 的设计逻辑是返回字符串中第一个与x匹配的字符的下标,并非返回当前遍历位置的索引。你的输入字符串存在重复字符(如a、f、k等多次出现),因此每次遍历到重复字符时,输出的都是该字符首次出现的下标,最终就出现了你给出的非连续输出结果。
修复代码
如果需要输出遍历过程中每个字符对应的顺序下标,使用enumerate同时遍历索引和字符即可,修改后代码如下:
a = 'RqafaksdjfklasdjfaklEzty' def w(s): str = "" for idx, _ in enumerate(s): print(idx) return str w(a)
运行后即可得到你预期的0到23的连续输出序列。
内容的提问来源于stack exchange,提问作者Rick Perez
相关产品推荐
相关产品推荐

