【问题标题】:How to make a list of the indexes of capital letters in a word如何制作单词中大写字母的索引列表
【发布时间】:2021-12-22 09:29:48
【问题描述】:

我正在尝试解决我在网上找到的一个挑战。它给出一个输入词,预期输出是所有大写字母的索引列表。我的程序有效,除非有重复的大写字母。我不知道如何处理它。这是我现在的代码:

def capital_indexes(string):
    string = list(string)
    print(string)
    output = []

    for i in string:
        if i.isupper():
            output.append(string. index(i))
    return output

就像我说的,它适用于“HeLlO”之类的词,但不适用于“TestT”之类的词

【问题讨论】:

  • 请注意,Tword 中出现了两次,这导致了问题。

标签: list indexing


【解决方案1】:

试试这个,和OP比较一下区别:

不必再使用index()方法搜索字符,只需使用enumerate获取tuple em>(index, char) 同时检查字符是否大写。

def capital_indexes(string):
    #string = list(string)   # string is an iterable! 
    #print(string)
    output = []

    for i, ch in enumerate(string):    # get index, char 
        if ch.isupper():
            output.append(i)
    return output
    
print(capital_indexes('TesT')) # [0, 3]

【讨论】:

  • 感谢您的帮助
  • 欢迎。如果这有帮助,您可以✅并接受它吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-03-31
  • 2020-12-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-12-11
  • 1970-01-01
相关资源
最近更新 更多