我想查找字符串中满足一定条件的字母索引。如果字母前的所有括号都是完成。如何根据条件查找字符串中的位置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之前的括号完成。
当你发现你信不破这是第一次,直到最后一次,这正是它在做什么,对吧?我错过了什么吗? –
我一直在玩休息时间,但他们都给出了相同的结果 –
顺便说一句,你已经使用了按位布尔和,'&'而不是'和'。我相信在这种情况下,它们将实际上是等价的,但如果您的意思是布尔型,则应该使用'和',并且如果要按位和,则只使用'&'。 –