我发现了一个很好的问题,其中可以使用以下命令搜索字符串的多个结尾:
Check if string ends with one of the strings from a list
我的问题是,如何从元组中返回哪个值实际上是匹配项?如果我有多个比赛,该如何选择最佳比赛?
例如:
str= "ERTYHGFYUUHGFREDFYAAAAAAAAAA"
endings = ('AAAAA', 'AAAAAA', 'AAAAAAA', 'AAAAAAAA', 'AAAAAAAAA')
str.endswith(endings) ## this will return true for all of values inside the tuple, but how can I get which one matches the best
在这种情况下,可以从元组中找到多个匹配项,我该如何处理,并且仅返回最佳(最大)匹配项,在这种情况下,应为:
endswith(tuple)
我要在末尾删除的(使用正则表达式左右)。我的意思是可以在for循环中执行此操作,但是也许有一种更简单的pythonic方法?
最佳答案
>>> s = "ERTYHGFYUUHGFREDFYAAAAAAAAAA"
>>> endings = ['AAAAA', 'AAAAAA', 'AAAAAAA', 'AAAAAAAA', 'AAAAAAAAA']
>>> max([i for i in endings if s.endswith(i)],key=len)
'AAAAAAAAA'
关于python - 使用.endswith(tuple)测试时获取实际的结尾,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32349928/