擅长:python、mysql、java
<p>您只需更改代码中的两个内容即可获得预期的结果:</p>
<pre><code>def repeat_comp(data):
rep = 1
compressed3 = []
for i, item in enumerate(data):
if i < len(data) - 1:
if item == data[i + 1]:
rep += 1
else:
compressed3.append([rep, item])
rep = 1
else:
if item == data[i - 1]:
rep += 1
else:
compressed3.append([rep, item])
rep = 1
return compressed3
</code></pre>
<p>将<code>compressed3</code>列表移到函数中,让函数返回它,这样每次调用函数时<code>compressed3</code>都会被清除。然后可以将返回的列表分配给另一个变量:</p>
<pre><code>result = repeat_comp(compressed2)
</code></pre>
<p>我把<code>data[i - 1]</code>改成了<code>item</code></p>
<p><code>print(result)</code>会给你<code>[[1, 0], [1, 1], [1, 2], [1, 3], [4, 1], [1, 4]]</code></p>