回答此问题可获得 20 贡献值,回答如果被采纳可获得 50 分。
<p>我有一个二进制值列表:1=syncable,0=unsyncable。每个二进制值表示一个人当天是否可以同步。你知道吗</p>
<pre><code>person1=[1,1,0,1,1,0,1,1,1]
</code></pre>
<p>我想做另一个列表,计算一个人连续同步了多少天。当0出现时,计数器基本上复位。你知道吗</p>
<p>因此,对于上面的示例,输出如下所示:</p>
<pre><code>person1=[1,2,0,1,2,0,1,2,3]
</code></pre>
<p>我的问题是每当列表遇到0时。我不知道怎么复位。我试过好几种方法,都不管用。你知道吗</p>
<pre><code>x=[1,1,1,1,1]
y=[]
for index, value in enumerate(x):
y.append(value+sum(x[:index]))
print(y)
...
[1, 2, 3, 4, 5]
</code></pre>
<p>感谢您的帮助。我认为使用递归可能会有所帮助。你知道吗</p>