title: What does the built-in function sum do with sum(list, [])?
body: <p>When I want to unfold a list, I found a way like below:</p>
  
  <pre><code>&gt;&gt;&gt; a = [[1, 2], [3, 4], [5, 6]]
  &gt;&gt;&gt; a
  [[1, 2], [3, 4], [5, 6]]
  &gt;&gt;&gt; sum(a, [])
  [1, 2, 3, 4, 5, 6]
  </code></pre>
  
  <p>I don't know what happened in these lines, and <a href="https://docs.python.org/2/library/functions.html#sum" rel="noreferrer">the documentation</a> states:</p>
  
  <blockquote>
    <p><code>sum(iterable[, start])</code></p>
    
    <p>Sums <code>start</code> and the items of an <code>iterable</code> from left to right and
    returns the total. <code>start</code> defaults to <code>0</code>. The iterable's items are
    normally numbers, and the <code>start</code> value is not allowed to be a string.</p>
    
    <p>For some use cases, there are good alternatives to <code>sum()</code>. The preferred, fast way to concatenate a sequence of strings is by calling
    <code>''.join(sequence)</code>. To add floating point values with extended
    precision, see <code>math.fsum()</code>. To concatenate a series of iterables,
    consider using <code>itertools.chain()</code>.</p>
    
    <p>New in version 2.3.</p>
  </blockquote>
  
  <p>Don't you think that start should be a number? Why can <code>[]</code> be written here? </p>
  
  <pre><code>(sum(a, []))
  </code></pre>