【问题标题】:How to return a list of all the indexes in the string that have capital letters?如何返回字符串中所有大写字母的索引列表?
【发布时间】:2020-08-23 09:29:23
【问题描述】:

我想返回一个包含大写字母的字符串中所有索引的列表。到目前为止,我能够使用列表理解创建所有值的列表,而不是它们的索引。例如。 字符串"HeLlO" 应该输出[0, 2, 4]

这是我得到的:

def capital_indexes(str):
    return [x for x in str if x.isupper()]

输出为['H', 'L', 'O']

【问题讨论】:

    标签: python python-3.x list list-comprehension


    【解决方案1】:

    只需使用enumerate 获取索引:

    def capital_indexes(string):
        return [i for i, char in enumerate(string) if char.isupper()]
    
    print(capital_indexes("HeLlO")) # [0, 2, 4]
    

    【讨论】:

      【解决方案2】:

      你可以用这个:

      def capital_indexes(str_val):
          return [i for i in range(len(str_val)) if str_val[i].isupper()]
      
      print(capital_indexes('HeLlO'))
      

      请注意:不要使用str 作为变量名。它是一个保留关键字。

      【讨论】:

      • 它不是保留关键字,而是内置名称。保留关键字类似于ifdef 等。
      猜你喜欢
      • 2018-04-03
      • 1970-01-01
      • 2023-03-10
      • 2019-10-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-04-15
      • 2021-12-22
      相关资源
      最近更新 更多