擅长:python、mysql、java
<p>在我看来,你需要:</p>
<pre><code>bucket = [x for l in ([s]*r for s, r in zip(size, ratiointeger)) for x in l]
</code></pre>
<p>这将生成一个列表列表,其中包含所需的重复:</p>
<pre><code>>>> [[s]*r for s, r in zip(size, ratiointeger)]
[[2, 2, 2, 2, 2, 2, 2, 2, 2, 2], [3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3], [4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4], [6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6]]
</code></pre>
<p>然后使用<a href="https://stackoverflow.com/a/952952/2072269">the method from this post</a>将它们展平。你知道吗</p>