如果我有一个字符串
ex = 'aaatttgggatgaATG'
我想找到小写结束的索引
所以在这种情况下
indx_lower = 13
我将如何获得该价值?
我是否必须执行一个 for 循环,在其中检查字符串中每个元素的布尔值?
像这样 ?
total_indx = range(0,len(ex))
for p,k in zip(ex,total_indx):
if upper print k ?
是的,我不知道我会怎么做。. .
next(i for i,j in enumerate(ex) if j.isupper()) - 1
最好的方法是不使用 for 循环:
>>> print re.search("[A-Z]", "aaatttgggatgaATG").start()
13
re.search()
返回一个MatchObject
对象,你可以通过调用它的start()
方法来询问它从哪里开始。(但如果没有匹配,re.search()
将返回None
)。
你可以使用重新
import re
ex = 'aaatttgggatgaATG'
print ex.index(re.search('[A-Z]', ex).group())
for x in range(0, len(ex)):
if ex[x].isupper():
print x
break
>>> import re
>>> ex = 'aaatttgggatgaATG'
>>> re.search("[A-Z]", ex).start()
13