如何实现获取单词中所有大写字母索引的功能并解决重复大写字母问题
问题原因
你的代码出错的核心原因是list.index(元素)方法只会返回该元素在列表中第一次出现的位置。当输入是TesT时,遍历到第二个T时调用string.index('T'),拿到的还是第一个T的索引0,因此结果错误。同时原代码里将字符串转列表的操作是多余的,字符串本身就支持遍历操作。
修复后的代码
def capital_indexes(string): output = [] # 用enumerate同时遍历索引和对应字符 for idx, char in enumerate(string): if char.isupper(): output.append(idx) return output
效果验证
- 输入
HeLlO,返回结果[0,2,4],符合预期 - 输入
TesT,返回结果[0,3],符合预期
内容的提问来源于stack exchange,提问作者Michael Rosebeary
相关产品推荐
相关产品推荐

