2016-12-01 20 views
0

異なる形状の2つの異なるデータリストがあります。私はそれらを1つにマージする必要があります。異なる次元の2つのリストを結合する

リストAは(100×5)形状であり、リストBは(1×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

You 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のZIPファイルを作成します。

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] 
] 
関連する問題