擅长:python、mysql、java
<p>使用索引切片可以简化这个问题。你知道吗</p>
<p>如果要创建大小大致相等的<code>n</code>列表,可以执行以下操作:</p>
<pre><code>def split_list(input_list, n):
output_lists = [input_list[i::n] for i in range(n)]
return output_lists
</code></pre>
<p>这将在<code>n</code>的跳转中逐步遍历输入列表,以给出所需数量的输出列表。你知道吗</p>
<p>例如,假设您的输入列表是<code>range(15)</code>或<code>[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14]</code>,您需要<code>n=4</code>列表。
这将返回<code>[[0,4,8,12],[1,5,9,13],[2,6,10,14],[3,7,11]]</code>。你知道吗</p>
<p>或者,如果要将输入列表分组到<code>n</code>输出列表中,保留原始顺序,可以执行以下操作:</p>
<pre><code>import math
def split_list(input_list, n):
group_size = int(math.ceil(len(input_list)/float(n)))
output_lists = [input_list[group_size*i:min((i+1)*group_size, len(input_list))] for i in range(n)]
return output_lists
</code></pre>
<p>使用与上面相同的示例,这将返回<code>[[0,1,2,3],[4,5,6,7],[8,9,10,11],[12,13,14]]</code>。你知道吗</p>