📅  最后修改于: 2023-12-03 14:46:20.219000             🧑  作者: Mango
在Python3中,我们可以使用内置函数find()
或index()
方法来返回字符串中特定字符的索引位置,但是它们只会返回匹配到的第一个字符的位置,无法返回所有匹配到的字符的位置。本文将介绍两种方法来返回字符串中特定字符的索引列表。
我们可以使用for循环遍历字符串,然后使用if条件语句来判断是否匹配到特定字符,并将匹配到的字符的索引位置添加到一个列表中,最终返回该列表。下面是示例代码:
def find_indexes(s, c):
indexes = []
for i in range(len(s)):
if s[i] == c:
indexes.append(i)
return indexes
使用示例:
string = "Hello World!"
char = "l"
print(find_indexes(string, char)) # 输出 [2, 3, 9]
我们也可以使用列表解析式来实现上述功能,而不需要使用循环。下面是示例代码:
def find_indexes(s, c):
return [i for i in range(len(s)) if s[i] == c]
使用示例同上。
以上两种方法都可以有效地返回字符串中特定字符的索引列表,根据具体情况选择其中之一即可。
参考链接: