比较python中的字符串

时间:2015-04-07 04:55:23

标签: python string-comparison

def find_last(search, target):
    for index, character in reversed(list(enumerate(search))):
        if character in target:
            return index
        else:
            return -1
  

假设search =“aaaaa”和target =“aa”,输出应该= 3,而不是4。     我试图获得两个字符串比较的最后位置

1 个答案:

答案 0 :(得分:3)

目前您所做的是以相反的顺序比较search字符串中的每个字符,并查看它是否在target中。如果是,则过早地返回错误的索引。

相反,我建议使用str.rfind方法:

>>> 'aaaaa'.rfind('aa')
3

str.rfindstr.index方法基本相同,只是它从大海捞针的右边搜索第一根针。

编辑:为了将空针处理为最右边的索引,您可以使用以下返回表达式:

def find_last(search, target):
        return target and search.rfind(target) or len(search)