title: What is the difference between a list of a single iterable `list(x)` vs `[x]`?
body: <p>Python seems to differentiate between <code>[x]</code> and <code>list(x)</code> when making a list object, where <code>x</code> is an iterable. Why this difference?</p>
  <pre><code>&gt;&gt;&gt; a = [dict(a=1)]
  &gt;&gt;&gt; a
  [{'a': 1}]
  
  &gt;&gt;&gt; a = list(dict(a=1))
  &gt;&gt;&gt; a
  ['a']
  </code></pre>
  <p>While the 1st expression seems to work as expected, the 2nd expression works more like iterating a dict this way:</p>
  <pre><code>&gt;&gt;&gt; l = []
  &gt;&gt;&gt; for e in {'a': 1}:
  ...     l.append(e)
  &gt;&gt;&gt; l
  ['a']
  </code></pre>