将列表的第一个值附加到另一个列表的第一个值中; python
问题描述:
使用python 2.7。将列表的第一个值附加到另一个列表的第一个值中; python
我有两个列表(简化,使解释更清晰)。
T = [[1,0], [1,0], [0,5], [3, -1]]
B = [[1], [3], [2], [2]]
我想追加所述第二列表(B),以使乙列表的第一个值被附加到所述第一列表在T列表等。
EX-我想看看输出,如:
T = [[1, 0, 1], [1, 0, 3], [0, 5, 2], [3, -1, 2]]
我试过与不同类型的附加功能玩弄,但我还没有找到任何工作。知道python,我确信有一种方法。
答
map(list.extend, T, B)
或者,如果你喜欢一个明确的循环
for t, b in zip(T, B):
t.extend(b)
答
使用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
这是一个非本地版本,这不是要求的,但通常是一个更好的主意。 –
使用地图要快,仅仅是为了记录。 – ziu
非常感谢。我会尽可能标记为答案。 –