How can I add the corresponding elements of several lists of numbers?

前端 未结 6 1846
暖寄归人
暖寄归人 2020-12-03 07:38

I have some lists of numbers:

[1, 2, 3, 4, 5]
[2, 3, 4, 5, 6]
[3, 4, 5, 6, 7]

How can I add these lists\' elements, assuming that all of th

6条回答
  •  野趣味
    野趣味 (楼主)
    2020-12-03 08:24

    Try this functional style code:

    >>> map(sum, zip(*lists))
    [6, 9, 12, 15, 18]
    

    The zip function matches elements with the same index.

    >>> zip(*lists)
    [(1, 2, 3), (2, 3, 4), (3, 4, 5), (4, 5, 6), (5, 6, 7)]
    

    Then sum is applied to each tuple by using map.

    See it working online: ideone


    Note that in Python 3.x, map no longer returns a list. If you need the list, please see the following question:

    • Getting a map() to return a list in Python 3.x

    (You can just call list).

提交回复
热议问题