2016-12-01 63 views
0

我有2個不同形狀的數據列表。我需要將它們合併爲一個。合併具有不同維度的兩個列表

列表A是(100 x 5)形狀,列表B是(1 x 100)形狀。

樣品例如:

列表A:

[ 
[ 1. 34.62365962 78.02469282 11. 78.  81.  ] 
[ 1. 30.28671077 43.89499752 13. 17.  51.  ] 
[ 1. 35.84740877 72.90219803 74. 74.  62.  ] 
] 

B組:

[0 1 1] 

我想達到的目標是由A組和列表B數據一起如下:

<----------------- List A data----------------------------> <##List B###> 
[ 
    [ 1. 34.62365962 78.02469282 11. 78.  81.  0 ] 
    [ 1. 30.28671077 43.89499752 13. 17.  51.  1 ] 
    [ 1. 35.84740877 72.90219803 74. 74.  62.  1 ] 
] 

回答

1

你c一個循環做到這一點。

for i in range(0,100): 
    A[i].append(B[i]) 

這是你想要的嗎?

0

其循環和追加

for x in range(0,100): 
A[x].append(B[x]) 
0

一個簡單的拉鍊會做到這一點:

>>> for a, b in zip(A, B): 
...  a.append(b) 
>>> print(A) 
[[1.0, 34.62365962, 78.02469282, 11.0, 78.0, 81.0, 0], 
[1.0, 30.28671077, 43.89499752, 13.0, 17.0, 51.0, 1], 
[1.0, 35.84740877, 72.90219803, 74.0, 74.0, 62.0, 1]] 
1

您可以使用列表理解:

[v1+[v2] for v1,v2 in zip(A,B)] 
1

簡單地壓縮列表a和b:

ListA =[ 
    [ 1., 34.62365962, 78.02469282, 11., 78., 81. ], 
    [ 1., 30.28671077, 43.89499752, 13., 17., 51. ], 
    [ 1., 35.84740877, 72.90219803 , 74., 74. , 62. ] 
    ] 

    ListB = [0, 1,1] 

    print(list(list(a) for a in zip(ListA, ListB))) 

輸出:

[ 
[1.0, 34.62365962, 78.02469282, 11.0, 78.0, 81.0, 0], 
[1.0, 30.28671077, 43.89499752, 13.0, 17.0, 51.0, 1], 
[1.0, 35.84740877, 72.90219803, 74.0, 74.0, 62.0, 1] 
] 
相關問題