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