<p>目标是:将3个相同长度的列表转换为2个列表,其长度相差不超过1,来自不同源列表的元素必须交替,并且不能违反它们的顺序。例如:如果源列表中的“A”在“B”之前,那么在最终列表中,“B”不能在“A”之前。
所以,我决定写一个函数:</p>
<pre><code>def list_3_2(list1,list2,list3):
#split all lists in one list
a=sum((list(i) for i in zip(list1,list2,list3)),[])
#I want to separate list "a" to two new lists: l1 and l2
l1=[]
l2=[]
#//////
return(l1,l2)
list_3_2(['1','2','3'],['4','5','6'],['7','8','9'])
</code></pre>
<p>然后我面临着分离的问题。我发现了一些类似的问题,但它们的列表结构不同,比如<code>main_list=['3 5', '1 2', '1 7']</code>。在统一之后,我得到另一个结果:<code>a=['1', '4', '7', '2', '5', '8', '3', '6', '9']</code>。我怎样才能把这张单子分开</p>