Python 如何返回字符串中具有大写字母的所有索引的列表?

Python 如何返回字符串中具有大写字母的所有索引的列表?,python,python-3.x,list,list-comprehension,Python,Python 3.x,List,List Comprehension,我想返回一个字符串中所有索引的列表,这些索引都有大写字母。到目前为止,我能够创建一个包含所有值的列表,而不是带有列表的索引。例如。 字符串“HeLlO”应该输出[0,2,4] 以下是我得到的: def capital_indexes(str): return [x for x in str if x.isupper()] 输出为['H','L','O']仅用于获取索引: def capital_indexes(string): return [i for i, char in

我想返回一个字符串中所有索引的列表,这些索引都有大写字母。到目前为止,我能够创建一个包含所有值的列表,而不是带有列表的索引。例如。 字符串“HeLlO”应该输出
[0,2,4]

以下是我得到的:

def capital_indexes(str):
    return [x for x in str if x.isupper()]
输出为
['H','L','O']

仅用于获取索引:

def capital_indexes(string):
    return [i for i, char in enumerate(string) if char.isupper()]

print(capital_indexes("HeLlO")) # [0, 2, 4]
只需使用以下方法获取索引:

def capital_indexes(string):
    return [i for i, char in enumerate(string) if char.isupper()]

print(capital_indexes("HeLlO")) # [0, 2, 4]
您可以使用以下选项:

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

print(capital_indexes('HeLlO'))
请注意:不要对变量名使用
str
。它是一个保留的关键字。

您可以使用:

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

print(capital_indexes('HeLlO'))

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

它不是保留关键字,而是一个内置名称。保留关键字类似于
if
def
等。它不是保留关键字,而是内置名称。保留关键字类似于
if
def
等。