Python 如何在字符串中找到多个子字符串并将其添加到列表中?

Python 如何在字符串中找到多个子字符串并将其添加到列表中?,python,Python,我试图添加列表中出现的每个子字符串,因此在单词“hello”中,它将返回[2,3]作为字符串中的索引值。我不知道如何让它在找到每个子字符串后重新迭代 def myFind(string,substring): if (string.find(substring) == -1): return [] i = 0 list = [] while i < len(string): x = string.find(substrin

我试图添加列表中出现的每个子字符串,因此在单词“hello”中,它将返回[2,3]作为字符串中的索引值。我不知道如何让它在找到每个子字符串后重新迭代

def myFind(string,substring):

    if (string.find(substring) == -1):
        return []

    i = 0
    list = []
    while i < len(string):
        x = string.find(substring)
        list.append(x)
        i +=1
    return list
print (myFind("Hello","l"))
def myFind(字符串、子字符串):
如果(string.find(substring)=-1):
返回[]
i=0
列表=[]
当我
您可以使用模块:

输出:

[2, 3]

下面是如何使用列表理解来完成此操作:

def my_find(s,sub):
    "get all indices of substring sub in string s"
    return [i for i in range(0,len(s)-len(sub)+1) if s[i:i+len(sub)] == sub]

作为额外的可选参数
start
。。。所以只需传递
i
以查找:
string.find(substring,i)
这是否回答了您的问题@你是对的。你为什么不标记它?只是知道如何标记:)
def my_find(s,sub):
    "get all indices of substring sub in string s"
    return [i for i in range(0,len(s)-len(sub)+1) if s[i:i+len(sub)] == sub]