我有两个清单。
A = [1,5,10]
B = [72,36,58]
我想基于相同的索引连接两个列表。
Output = [1,72,5,36,10,58]
我知道我可以使用zip(A,B)
这样做但是这样我需要从列表中删除元组。
任何暗示或优雅的方式来做到这一点?
答案 0 :(得分:6)
您可以使用嵌套列表解析:
>>> [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])
答案 1 :(得分:2)
这是itertools
方法:
>>> from itertools import chain
>>> list(chain.from_iterable(zip(A, B)))
[1, 72, 5, 36, 10, 58]
答案 2 :(得分:1)
这样的事应该可以胜任:
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]