以特定方式加入Python列表

时间:2017-05-16 19:40:43

标签: python python-2.7 join nested-lists

给出两个非常大的列表(约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

但这不起作用

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 comprehensionslist slicingzip()功能可以很快完成。

根据评论进行编辑,使用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]])
相关问题