给出两个非常大的列表(约50K记录)list1 = [['a','b','c'],['d','e','f']]
和list2 = [['a','r','t'],['d','e','n']]
。如何获得list3 = [['a','b','c','r','t'],['d','e','f','e','n']]
我在这里通过合并第二个列表的第一个字符的子列表并在最终列表中只选择其中一个来加入
我是python的新手 我试过了
i=0
final=[]
while (i<len(list1)) :
for row in list2 :
if(list1[i][0]==list2[0]) :
final= row + list[i][1:]
i+=1
但这不起作用
答案 0 :(得分:1)
list1 = [['a','b','c'],['d','e','f']]
list2 = [['a','r','t'],['d','e','n']]
print([x+y[1:] for x,y in zip(list1,list2)])
使用list comprehensions,list slicing和zip()功能可以很快完成。
根据评论进行编辑,使用if
案例仅允许某些内容:
list1 = [['a','b','c'],['d','e','f']]
list2 = [['a','r','t'],['d','e','n']]
print([x+y[1:] for x,y in zip(list1,list2) if x[0] == y[0]])