True False 条件下的迭代次数

shb*_*brn 0 python loops for-loop while-loop

请帮忙!!

我有一个清单:

a = ['False', 'False', 'True', 'True', 'True', 'False', 'False', 'True', 'True']
Run Code Online (Sandbox Code Playgroud)

我想生成迭代数,如果它是 False 数字继续,如果它是 True 数字保持。我试试这个代码:

result = []
x = 1
for i in a:
    while i == 'False':
        result.append(x)
        if i == 'True':
            x+=1
            continue
            result.append(x)
        x += 1
Run Code Online (Sandbox Code Playgroud)

它只是继续运行,没有显示任何输出。所需的输出将是[1,2,3,3,3,4,5,6,6]

我不知道它有什么问题 谢谢

Chr*_*per 5

这实际上可以很好地解决accumulatefromitertools

from itertools import accumulate

a = ['False', 'False', 'True', 'True', 'True', 'False', 'False', 'True', 'True']

print(list(accumulate(1 if i == 'False' else 0 for i in a)))
Run Code Online (Sandbox Code Playgroud)

结果与 gtomer 相同,我认为这是正确的输出。