如何在python中将两个列表交叉在一起?

时间:2018-01-12 03:34:40

标签: python list

如何在python中将两个列表交叉在一起? 例如:

list_1 = [1, 2, 3]
list_2 = [4, 5, 6]

预期结果:

combined_list = [1, 4, 2, 5, 3, 6]

3 个答案:

答案 0 :(得分:6)

这样做的一种pythonic方式:

[item for sublist in zip(a,b) for item in sublist]

根据请求,如果您只想要一个列表,如果两个列表的长度相同,您可以使用:

[item for sublist in zip(a,b) for item in sublist if len(a) == len(b)]

查看结果是否为空列表。

答案 1 :(得分:4)

l = []
for x,y in zip(list_1,list_2):
    l.append(x)
    l.append(y)

答案 2 :(得分:3)

使用itertools

list_1 = [1, 2, 3]
list_2 = [4, 5, 6]

new_list = list(itertools.chain.from_iterable(zip(list_1,list_2))) 
# [1, 4, 2, 5, 3, 6]