Python 连接列表列表

Python 连接列表列表,python,python-2.7,Python,Python 2.7,首先我有两个列表,l1和l2 l1 = [['a','1','b','c','now'],['d','2','e','f','tomorrow']] l2 = [['11:30', '12:00'],['13:00', '13:30']] 我想要的是创建一个新的列表,其中包含来自l1的每个列表的前两个元素,得到:newList=[['a','1'],['d','2']] 然后,从newList中的每个列表中,我想添加一个l2列表,以获得: newList = [['a', '1', '11

首先我有两个列表,l1和l2

l1 = [['a','1','b','c','now'],['d','2','e','f','tomorrow']] 

l2 = [['11:30', '12:00'],['13:00', '13:30']]
我想要的是创建一个新的列表,其中包含来自l1的每个列表的前两个元素,得到:
newList=[['a','1'],['d','2']]

然后,从newList中的每个列表中,我想添加一个l2列表,以获得:

newList = [['a', '1', '11:30', '12:00'], ['d', '2', '13:00', '13:30']]
最后,我想添加l1中每个列表中的最后一个元素:

newList = [['a', '1', '11:30', '12:00','now'], ['d', '2', '13:00', '13:30','tomorrow']]
到目前为止,我所拥有的是:

newList =[]

for i in l1:
   names = i[:2]
   newList.append(names)

但现在我不知道如何扩展以获得其他元素

在理解列表的同时使用
zip

>>> l1 = [['a','1','b','c','now'],['d','2','e','f','tomorrow']]
>>> l2 = [['11:30', '12:00'],['13:00', '13:30']]
>>> [[x[0], x[1]] + y + [x[-1]] for x, y in zip(l1, l2)]
[['a', '1', '11:30', '12:00', 'now'], ['d', '2', '13:00', '13:30', 'tomorrow']]
>>> [x[:2] + y + [x[-1]] for x, y in zip(l1, l2)]
[['a', '1', '11:30', '12:00', 'now'], ['d', '2', '13:00', '13:30', 'tomorrow']]

具有列表理解能力:

newList = [x[: 2] + y + x[-1:] for x, y in zip(l1, l2)]

你不能解释一下我使用append和extend吗?我是这方面的新手,我想从基础开始。@Pynchia
x[-1]
将返回一个元素,而不是一个列表,因此您必须放入
[x[-1]]
。我不知道后者是否比
x[-1:]
快。是的,很抱歉,让我们抓挠一下,我睡了一半