How to make a function return a list of indices of the characters in the second string that appears in the first string?

后端 未结 4 1787
孤街浪徒
孤街浪徒 2021-01-25 08:54
def get_indices_from_the_second_string(string1, string2):
    \'\'\'(str, str) -> list of int
    >>> get_indices_from_the_second_string(\'AGTACACGTTAC\', \'         


        
4条回答
  •  耶瑟儿~
    2021-01-25 09:47

    Remove lines

                i += 1
                r += 1
    

    as for loops increase i and r automatically.

    And then modify your code:

    lower = 0                             # from this index will be string1 searched
    
    for i in range(0, len(string2)):
        for r in range(lower, len(string1)):
            if string1[r] == string2[i]:
                acc.append(r)
                lower = r + 1             # indexes from 0 to r are already used
                break
            elif r == len(string1) - 1:   # last index did not match
                return acc
    return acc
    

提交回复
热议问题