擅长:python、mysql、java
<p>嗯,根据您共享的最终确定信息,我相信您非常接近解决方案,您只需要拆分最终阵列。你觉得这个怎么样</p>
<pre><code>def list_3_2(list1,list2,list3):
a=sum((list(i) for i in zip(list1,list2,list3)),[])
return a[:len(a)//2], a[len(a)//2:]
print(list_3_2(['1','2','3'],['4','5','6'],['7','8','9']))
</code></pre>
<p>基本上,将列表拆分为两部分,其中一部分最多比另一部分大<code>1</code>个元素,对应于在向下舍入的中点的索引处拆分任意列表。如果原始数组(输入链)的长度为奇数,则这些部分的长度将不同</p>
<p>数组的中点索引是<code>len(array)//2</code>-<code>len(array)</code>是全长,<code>//2 </code>是“半舍入除法”的运算</p>
<p>最后,为了使用这个中点索引分割数组,我们使用python中的<code>splicing</code>机制。语法如下:</p>
<p><code>a[:m]</code>=从索引<code>0</code>(=开始)到索引<code>m-1</code>的<code>a</code>的所有元素</p>
<p><code>a[m:]</code>=从索引<code>m</code>到索引<code>len(a) - 1</code>(=结尾)的<code>a</code>的所有元素</p>