我有两个列表。基于相同索引连接两个列表
A = [1,5,10]
B = [72,36,58]
我想连接两个基于相同索引的列表。
Output = [1,72,5,36,10,58]
我知道我可以使用zip(A,B)
这样做,但这种方式,我需要从列表中删除元组。
任何暗示或优雅的方式来做到这一点?
我有两个列表。基于相同索引连接两个列表
A = [1,5,10]
B = [72,36,58]
我想连接两个基于相同索引的列表。
Output = [1,72,5,36,10,58]
我知道我可以使用zip(A,B)
这样做,但这种方式,我需要从列表中删除元组。
任何暗示或优雅的方式来做到这一点?
您可以使用嵌套列表理解:
>>> [i for tup in zip(A,B) for i in tup]
[1, 72, 5, 36, 10, 58]
如果你正在处理庞大的数据集,使用Numpy
扩展是你不错的选择,这在这种情况下,你将能够使用了大量的很酷的功能。在这种情况下,你可以使用numpy.hstack()
拼合zip()
结果:
>>> import numpy as np
>>>
>>> np.hstack(zip(A,B))
array([ 1, 72, 5, 36, 10, 58])
下面是一个itertools
方法:
>>> from itertools import chain
>>> list(chain.from_iterable(zip(A, B)))
[1, 72, 5, 36, 10, 58]
东西喜欢这应该做的工作:
A = [1,5,10]
B = [72,36,58]
Out = []
for i in range(0, 3):
Out.append(A[i])
Out.append(B[i])
你得到:
Out = [1, 72, 5, 36, 10, 58]
感谢您的编辑! – Sakura