2016-12-08 9 views
0
a = [0, 2, 4] 
b = list(map(lambda x: x+1, a)) 

マージリストC = [0、1、2、3、4、5] マージ二つのリストのPython

私は関数型プログラミングとの結果を達成することはできますか? ループするのではなく?

ありがとうございます。

答えて

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] 
+0

なぜダウン投票? –

0

を使用することを好む場合:

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

'TypeError:リスト(' tuple 'ではなく)を連結するだけで ' –

+0

を使用できます' import operator;演算子.add'をdunderメソッドの代わりに使用します。 –

関連する問題