2011-11-03 16 views
0

Pythonでの作業2.7。リストの最初の値を別のリストの最初の値に追加します。 python

私は2つのリスト(説明を明確にするために簡略化されています)を持っています。

T = [[1,0], [1,0], [0,5], [3, -1]] 
B = [[1], [3], [2], [2]] 

IはBのリストの最初の値がそのようにTリスト内の最初のリストに追加されるように、第2のリスト(B)を追加したいと思います。私は、出力は次のようになりたい

EX-:

T = [[1, 0, 1], [1, 0, 3], [0, 5, 2], [3, -1, 2]] 

私はアペンド機能の異なる種類で遊んで試してみたが、私は働く何かを発見していません。 Pythonを知っている、私は方法があると確信しています。

答えて

5
map(list.extend, T, B) 

か、明示的なループを好む場合は、単にレコードについて、より高速であるべきマップを使用して

for t, b in zip(T, B): 
    t.extend(b) 
+0

。 – ziu

+0

ありがとうございました。私ができるときは答えとしてマークします。 –

2

使用zip

>>> t = [[1,0], [1,0], [0,5], [3, -1]] 
... b = [[1], [3], [2], [2]] 
>>> [x + y for x, y in zip(t, b)] 
3: [[1, 0, 1], [1, 0, 3], [0, 5, 2], [3, -1, 2]] 
+1

これは非インプレースバージョンです。これは尋ねられたものではありませんが、しばしばより良いアイデアです。 –