別の方法として、 を使用することもできますが、異なるリストの長さを処理する場合のとmap
の違いに注意することは興味深いことです。zip
map
ほとんどの場合、@Marijn Pieters のソリューションは、リストの処理がよりかわいらしくて柔らかいzip
ので、あなたが望むことをすると思います。zip
In [414]: first = [1,2,3]
In [415]: second = [10,20,30]
In [416]: [a + b for a, b in zip(first, second)]
Out[416]: [11, 22, 33]
In [417]: import operator
In [418]: map(operator.add, first, second)
Out[418]: [11, 22, 33]
In [419]: second = [10,20,30,40]
In [420]: [a + b for a, b in zip(first, second)]
Out[420]: [11, 22, 33]
In [421]: map(operator.add, first, second)
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-421-dd15f26f1e89> in <module>()
----> 1 map(operator.add, first, second)
TypeError: unsupported operand type(s) for +: 'NoneType' and 'int'
In [422]: map(None, first, second)
Out[422]: [(1, 10), (2, 20), (3, 30), (None, 40)]