合并两个列表python

时间:2016-12-08 08:35:41

标签: python python-2.7 lambda functional-programming

a = [0, 2, 4]
b = list(map(lambda x: x+1, a))

合并列表c = [0,1,2,3,4,5]

c = [a[0], b[0], a[1], b[1] ... ]

我可以通过函数式编程实现结果吗? 而不只是循环?

提前致谢

2 个答案:

答案 0 :(得分:0)

当然,有很多方法。这是一个简单的列表理解:

>>> a = [0, 2, 4]
>>> b = [1, 3, 5]
>>> [p for pair in zip(a,b) for p in pair]
[0, 1, 2, 3, 4, 5]
>>> 

或者,如果您更愿意使用itertools

>>> import itertools
>>> list(itertools.chain.from_iterable(zip(a,b)))
[0, 1, 2, 3, 4, 5]

答案 1 :(得分:0)

因为您正在寻找一种功能性的方式:

from operator import add
reduce(add,zip(a,b),[])