擅长:python、mysql、java
<blockquote>
<p>I wanted to know if I can do it in one line or if there is any way I
can use a common module.</p>
</blockquote>
<p>是的,两个都是。您正在尝试对数据进行分组,以便<code>groupby</code>中的<code>itertools</code>是您的朋友:</p>
<pre><code>from itertools import groupby
data = [30, 20, 0, 48, 20, 10, 20, 0, 30]
result = [list(group) for non_zero, group in groupby(data, lambda n: n != 0) if non_zero]
print(result)
</code></pre>
<p><strong>输出</strong></p>
<pre><code>> python3 test.py
[[30, 20], [48, 20, 10, 20], [30]]
>
</code></pre>
<p>我们使用一个键函数根据数据是否为零来捆绑数据。<code>group</code>变量包含bundle;<code>non_zero</code>变量(又名<code>key</code>)是一个布尔值,指示它是否是我们想要的bundle。你知道吗</p>