元素-添加2个列表?

元素-添加2个列表?

我现在有:


list1 = [1, 2, 3]

list2 = [4, 5, 6]

我希望:


[1, 2, 3]

 +  +  +

[4, 5, 6]

|| || ||

[5, 7, 9]

简单地按元素添加两个列表。


我当然可以迭代这两个列表,但我不想这样做。


是什么最毕达通的方式这么做?


繁花不似锦
浏览 518回答 3
3回答

缥缈止盈

使用map带着operator.add:>>> from operator import add>>> list( map(add, list1, list2) )[5, 7, 9]或zip对清单的理解:>>> [sum(x) for x in zip(list1, list2)][5, 7, 9]时间比较:>>> list2 = [4, 5, 6]*10**5>>> list1 = [1, 2, 3]*10**5>>> %timeit from operator import add;map(add, list1, list2)10 loops, best of 3: 44.6 ms per loop>>> %timeit from itertools import izip; [a + b for a, b in izip(list1, list2)]10 loops, best of 3: 71 ms per loop>>> %timeit [a + b for a, b in zip(list1, list2)]10 loops, best of 3: 112 ms per loop>>> %timeit from itertools import izip;[sum(x) for x in izip(list1, list2)]1 loops, best of 3: 139 ms per loop>>> %timeit [sum(x) for x in zip(list1, list2)]1 loops, best of 3: 177 ms per loop

慕雪6442864

[a + b for a, b in zip(list1, list2)]
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python