另一种方法是使用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)]