对于低于UPPER的字符串。在UPPER开始时给出位置。蟒蛇

时间:2013-02-13 22:16:38

标签: python for-loop boolean uppercase lowercase

如果我有一个字符串

ex = 'aaatttgggatgaATG'

我希望找到小写结尾的索引

所以在这种情况下它将是

indx_lower = 13

我将如何获得这个价值?

我必须做一个for循环,我检查了字符串中每个元素的布尔值吗?

像这样?

total_indx = range(0,len(ex))

for p,k in zip(ex,total_indx):
    if upper print k ? 
是的,我不知道我会怎么做。 。 。

5 个答案:

答案 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