title: Append to zip() in Python
body: <p>Given any number of zipped lists, e.g.</p>
  
  <pre><code>&gt;&gt;&gt; L1 = [1,2,3]
  &gt;&gt;&gt; L2 = [1,2,3]
  &gt;&gt;&gt; zipped = zip(L1, L2)
  [[(1, 1), (2, 2), (3, 3)]
  </code></pre>
  
  <p>how can I append another list to zipped that produces the same output as</p>
  
  <pre><code>&gt;&gt;&gt; L3 = [5,5,5]
  &gt;&gt;&gt; zip(L1, L2, L3)
  [(1, 1, 5), (2, 2, 5), (3, 3, 5)]
  </code></pre>
  
  <p>I was thinking in the direction of append(), but that produces the following undesired result</p>
  
  <pre><code>&gt;&gt;&gt; zipped.append(L3)
  [(1, 1), (2, 2), (3, 3), [5, 5, 5]]
  </code></pre>
  
  <p>Background: I want to create the zipped-list within a loop for any number of lists.</p>
  
  <p>EDIT:</p>
  
  <p>It appears to me now that I was missing one part of my problem. Here is a MWE based an Ryan's answer:</p>
  
  <pre><code>import random
  
  N = 4
  zipped2 = zip([1,2,3],[1,2,3])  # works
  zipped2 = []  # does not work
  for n in range(N):
      Ln = random.sample(xrange(100),3)
      zipped2 = [old + (new,) for old, new in zip(zipped2, Ln)]
  
  print(zipped2)
  </code></pre>
  
  <p>Using this method on pre-zipped lists works perfectly. However, I would like to create the entire output inside the loop and thus would like to start with an empty list.</p>