如何打印其他字符串中首次出现的某些字符的索引?

2024-10-01 17:30:30 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图创建一个由两个字符串组成的函数:

def find_firstchars( chars, wholestring )

打印时,返回这些字符在字符字符串中的位置。“chars”中的第一个字符必须标记下一个字符索引的开始,因此首先对A进行索引,然后函数在该位置之后对下一个字符进行索引,依此类推

“whisttring”中可能多次出现“chars”字符串,但我只需要索引第一个字符串的字符

比如说,

print (find_firstchars( "ABC", "VMQOAJVBKRJCPGI" )

将返回职位列表: [4,7,11]

我尝试过下面的代码,除了控制台中关于切片索引需要是整数的错误之外,我不知道如何有效地搜索以下字符串中的每个字符

def find_firstchars(chars, wholestring):
    index = 0 # Initializing index
    splice = [] # Initializing list
    while index != -1: # Run until at end of index
        index = chars.find(chars,wholestring) # Finds index value of each char in subsequence
        if index != -1: # If not at end:
            splice.append(index) # Append index value to splice list,
            index += 1 # Then keep looking
    return splice
print (find_firstchars("GTA", "ACGACATCACGTGACG"))

虽然这应该打印[2,6,8]


Tags: 函数字符串indexdeffind字符atlist
1条回答
网友
1楼 · 发布于 2024-10-01 17:30:30

你很接近:

def find_firstchars(chars, wholestring):
    index = 0 # Initializing index
    splice = [] # Initializing list
    for c in chars:
        index = wholestring.find(c,index)
        splice.append(index)
        index += 1 # Then keep looking
    return splice
print (find_firstchars("GTA", "ACGACATCACGTGACG"))

相关问题 更多 >

    热门问题