我有
a = [1, 2, 3, 4, 5]
b = ['a', 'b', 'c', 'd']
其中a
还有一个元素。
zip(a,b)
返回[(1, 'a'), (2, 'b'), (3, 'c'), (4, 'd')]
。但是,我要
[1, 'a', 2, 'b', 3, 'c', 4, 'd']
最优雅的方式是什么?
答案 0 :(得分:2)
itertools
具有此功能。
from itertools import chain
a = [1, 2, 3, 4, 5]
b = ['a', 'b', 'c', 'd']
result = list(chain.from_iterable(zip(a, b)))
答案 1 :(得分:1)
使用列表推导,可以使用以下内容:
a = [1, 2, 3, 4, 5]
b = ['a', 'b', 'c', 'd']
result = [item for sublist in zip(a, b) for item in sublist]
# result is [1, 'a', 2, 'b', 3, 'c', 4, 'd']
这使用了https://stackoverflow.com/a/952952/5666087中的列表扁平化理解。