我想查找字符串中滿足一定條件的字母索引。如果字母前的所有括號都是完成。如何根據條件查找字符串中的位置python
這是我
sen = 'abcd(fgji(l)jkpg((jgsdti))khgy)ghyig(a)gh'
這是我做了什麼
lst = [(i.end()) for i in re.finditer('g', sen)]
# lst
# [7, 16, 20, 29, 32, 36, 40]
count_open = 0
count_close = 0
for i in lst:
sent=sen[0:i]
for w in sent:
if w == '(':
count_open += 1
if w == ')':
count_close += 1
if count_open == count_close && count_open != 0:
c = i-1
break
這是給我的C爲39,這是最後一個指標,但正確的答案應該是35作爲第二個最後g之前的括號完成。
當你發現你信不破這是第一次,直到最後一次,這正是它在做什麼,對吧?我錯過了什麼嗎? –
我一直在玩休息時間,但他們都給出了相同的結果 –
順便說一句,你已經使用了按位布爾和,'&'而不是'和'。我相信在這種情況下,它們將實際上是等價的,但如果您的意思是布爾型,則應該使用'和',並且如果要按位和,則只使用'&'。 –