在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]
是的,你说得对,我忘了