2017-10-08 163 views
-1

如果我有2 liist名单列表:如何将列表的列表合并为一个列表?

A = [ [[2,3],[3,4]] ] 

B = [ [[5,6],[7,3],[3,1]], 
     [[2,5],[3,2],[4,2]], 
     [[2,1],[2,3],[3,1]] ] 

,我想合并成一个B.So列表的第一个列表在B名单等等的第一个列表。

输出:

C = [ [[5,6],[7,3],[3,1],[2,3],[3,4]], 
     [[2,5],[3,2],[4,2]], 
     [[2,1],[2,3],[3,1]] ] 

我试着用压缩(A,B),但它们被放在元组和列表,所以它真的混乱?

+1

这些不是两个列表的列表,它们是列表的列表。那是你要的吗?另外,您的示例输出对输入没有意义。您在B的第一个列表的末尾包含A的全部,第二个列表中只包含一个值,而第三个列表中没有。你是否想在第一个结果列表的末尾添加A的全部内容,并从A的前面删除一个项目直到A被耗尽?请用文字更全面地解释。 –

+0

是的,输出shd是一个list.Surry我犯了一个错误的输出。由于长度A只有1,我列出列表中的列表fi列表在B列表的第一个列表。但如果它是2,那么我包括A在B列表中的A列表的第二个列表以及 –

+0

您是否有一个原因是您正在制作多个账户并提出类似的问题? https://stackoverflow.com/users/8682070/sook-yee-lim。请做你自己的家庭作业。 – user2263572

回答

0

这会工作:

>>> A=[ [ [2,3],[3,4] ] ] 
>>> B=[ [ [ [5,6],[7,3],[3,1]],[ [2,5],[3,2],[4,2] ],[ [2,1],[2,3],[3,1]]]] 
>>> B[0][0] += A[0] 
>>> B 
[[[[5, 6], [7, 3], [3, 1], [2, 3], [3, 4]], [[2, 5], [3, 2], [4, 2]], [[2, 1], [2, 3], [3, 1]]]] 

编辑答案。

+0

嗨我输出了一个错误,并编辑它。但我的意思是,在A shd中列表的第一个列表将与列表中的第一个列表B合并。 –

+0

好了,现在开始工作.. – alexisdevarennes

0

这不是一个oneliner,但它可以解决你的问题:

def my_list_merge(A,B): 
    """ Merge the elements from A into B """ 
    C = [] 
    for i in range(len(A)): 
     C += [B[i]+A[i]] 
    C += B[i+1:] 
    return C 

所以使用一些更容易此方法来读取数据:

>>> A = [ [[4,4]] ] 
>>> B = [ [[1,1],[1,1]], 
      [[2,2],[2,2]], 
      [[3,3],[3,3]] ] 
>>> my_list_merge(A,B) 
[ [[1, 1], [1, 1], [4, 4]], 
    [[2, 2], [2, 2]], 
    [[3, 3], [3, 3]] ] 

,并显示出它缩放(ST LEN(A )< = len(B))

>>> A = [ [[4,4],[4,4]] ] 
>>> B = [ [[1,1],[1,1],[1,1]], 
      [[2,2],[2,2],[2,2]], 
      [[3,3],[3,3],[3,3]] ] 
>>> my_list_merge(A,B) 
[[[1, 1], [1, 1], [1, 1], [4, 4], [4, 4]], 
[[2, 2], [2, 2], [2, 2], [5, 5], [5, 5]], 
[[3, 3], [3, 3], [3, 3]]] 
0

这应该适合你。

A = [ [ [2,3],[3,4] ] ] 

B = [ [ [5,6],[7,3],[3,1]],[ [2,5],[3,2],[4,2] ],[ [2,1],[2,3],[3,1]]] 

C = [B[0] + A[0], B[1], B[2]] 

print(C) 

它打印:

[[[5, 6], [7, 3], [3, 1], [2, 3], [3, 4]], [[2, 5], [3, 2], [4, 2]], [[2, 1], [2, 3], [3, 1]]] 
0

与A.append(B)只要尝试,它可以让你加入列表。