添加两个列表的第i个元素

时间:2014-11-30 22:49:59

标签: python list

我有两个字符串列表。 两个列表都具有相同数量的元素。 我想用第二个列表的第i个元素添加第一个列表的第i个元素。

例如:

list_1 = [['a','b','c'],['1','2','3'],['ab','bc','cd']]
list_2 = [['12','34','56'],['h','j','k'],['01','02','03']]

我想获得以下列表:

list_final = [['a','b','c','12','34','56'],['1','2','3','h','j','k'],['ab','bc','cd','01','02','03']]

我知道执行此操作的for循环方式(遍历list_1的每个元素并将其添加到list_2中的相同索引的元素),但它似乎用很长的清单花一些时间。如果没有导入任何模块,有更快的方法吗?

1 个答案:

答案 0 :(得分:2)

您可以使用zip() function配对两个列表的元素:

list_final = [l1 + l2 for l1, l2 in zip(list_1, list_2)]

演示:

>>> list_1 = [['a','b','c'],['1','2','3'],['ab','bc','cd']]
>>> list_2 = [['12','34','56'],['h','j','k'],['01','02','03']]
>>> [l1 + l2 for l1, l2 in zip(list_1, list_2)]
[['a', 'b', 'c', '12', '34', '56'], ['1', '2', '3', 'h', 'j', 'k'], ['ab', 'bc', 'cd', '01', '02', '03']]