0

文字列がある場合

ex = 'aaatttgggatgaATG'

小文字が終わるインデックスを見つけたい

したがって、この場合は次のようになります

indx_lower = 13

どうすればその値を取得できますか?

文字列内の各要素のブール値をチェックする for ループを実行する必要がありますか?

このような ?

total_indx = range(0,len(ex))

for p,k in zip(ex,total_indx):
    if upper print k ? 

どうやってこれを行うのかわかりません。. .

4

5 に答える 5

3
next(i for i,j in enumerate(ex) if j.isupper()) - 1
于 2013-02-13T22:19:15.997 に答える
2

最善の方法は、forループを使用しないことです。

>>> print re.search("[A-Z]", "aaatttgggatgaATG").start()
13

re.search()オブジェクトを返します。そのメソッドMatchObjectを呼び出すことで、オブジェクトがどこから始まるかを尋ねることができます。start()(ただし、一致するものがない場合は、re.search()戻りNoneます)。

于 2013-02-13T22:23:16.827 に答える
1

あなたは再使用することができます

import re

ex = 'aaatttgggatgaATG'

print ex.index(re.search('[A-Z]', ex).group())
于 2013-02-13T22:19:28.530 に答える
0
for x in range(0, len(ex)):
    if ex[x].isupper():
        print x
        break
于 2013-02-13T22:21:55.897 に答える
0
>>> import re
>>> ex = 'aaatttgggatgaATG'
>>> re.search("[A-Z]", ex).start()
13
于 2013-02-13T22:23:21.883 に答える