title: Merging/adding lists in Python
body: <p>I'm pretty sure there should be a more Pythonic way of doing this - but I can't think of one: How can I merge a two-dimensional list into a one-dimensional list? Sort of like zip/map but with more than two iterators.</p>
  
  <p>Example - I have the following list:</p>
  
  <pre><code>array = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
  </code></pre>
  
  <p>I want to have</p>
  
  <pre><code>result = [12, 15, 18] # [1+4+7, 2+5+8, 3+6+9]
  </code></pre>
  
  <p>So far what I've come up with is:</p>
  
  <pre><code>def add_list(array):
      number_items = len(array[0])
      result = [0] * number_items
      for index in range(number_items):
          for line in array:
              result[index] += line[index]
      return result
  </code></pre>
  
  <p>But that doesn't look very elegant/Pythonic to me. Aside from not checking if all the "lines" in the 2D array are of the same length, can be added to each other, etc. What would be a better way to do it?</p>