Python中获取字符串重复字符的所有索引位置问题
获取字符串中指定重复字符的所有索引
方法1:用enumerate生成列表推导式
这是最简洁的实现方式,遍历字符串时同时获取索引和字符,筛选出目标字符对应的索引:
word = "SYNONYMS" target = 'S' all_indices = [idx for idx, char in enumerate(word) if char == target] print(all_indices) # 输出: [0, 7]
方法2:手动循环遍历记录索引
如果偏好更基础的循环写法,可以逐个检查每个位置的字符,匹配时记录索引:
word = "SYNONYMS" target = 'S' all_indices = [] for i in range(len(word)): if word[i] == target: all_indices.append(i) print(all_indices) # 输出: [0, 7]
关于rfind的局限性
rfind()方法仅返回目标字符最后一次出现的索引,对应的find()返回第一次出现的索引,两者都只能获取单个位置,无法收集所有匹配的索引,因此不适合你的需求。
内容的提问来源于stack exchange,提问作者Aanshul Sharma
相关产品推荐
相关产品推荐

