在python中组合两个列表,以便将相应索引处的元素放在一起

在python中组合两个列表,以便将相应索引处的元素放在一起,python,list,python-3.x,concatenation,itertools,Python,List,Python 3.x,Concatenation,Itertools,我有两个清单,如: listone = [1, 2, 3] listtwo = [4, 5, 6] 我想将它们结合起来得到: l = [1, 4, 2, 5, 3, 6] 如果不使用循环,如何执行此操作 您可以使用itertools和zip: 代码: import itertools as it list(it.chain(*zip(listone, listtwo))) listone = [1, 2, 3] listtwo = [4, 5, 6] print(list(it.chain

我有两个清单,如:

listone = [1, 2, 3]
listtwo = [4, 5, 6]
我想将它们结合起来得到:

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

如果不使用循环,如何执行此操作

您可以使用
itertools
zip

代码:

import itertools as it
list(it.chain(*zip(listone, listtwo)))
listone = [1, 2, 3]
listtwo = [4, 5, 6]
print(list(it.chain(*zip(listone, listtwo))))
[1, 4, 2, 5, 3, 6]
测试代码:

import itertools as it
list(it.chain(*zip(listone, listtwo)))
listone = [1, 2, 3]
listtwo = [4, 5, 6]
print(list(it.chain(*zip(listone, listtwo))))
[1, 4, 2, 5, 3, 6]
结果:

import itertools as it
list(it.chain(*zip(listone, listtwo)))
listone = [1, 2, 3]
listtwo = [4, 5, 6]
print(list(it.chain(*zip(listone, listtwo))))
[1, 4, 2, 5, 3, 6]
您可以将列表的列表切片功能用作:

>>> new_list = listone + listtwo  # create initial list of `len` equal
                                  # to `listone + listtwo`
>>> new_list[::2] = listone
>>> new_list[1::2] = listtwo
>>> new_list
[1, 4, 2, 5, 3, 6]
实现这一点的另一个非常简单的方法是使用嵌套列表理解表达式,如下所示:

>>> listone = [1, 2, 3]
>>> listtwo = [4, 5, 6]

>>> [b for a in zip(listone, listtwo) for b in a]
[1, 4, 2, 5, 3, 6]

您可以直接添加两个列表

list_one=[1,2,3]  
list_two=[4,5,6]  
list_one=list_one+list_two  
print(list_one)

>>>list_one=[1,2,3,4,5,6]      
您还可以更改总和的顺序, 然后打印出[4,5,6,1,2,3]。

这是一个使用和嵌套的变量:

您可以使用numpy(as)


我想OP希望列表的顺序是这样的
[1,4,2,5,3,6]
是的,你说得对,我忘了