title: Why can you loop through an implicit tuple in a for loop, but not a comprehension in Python?
body: <p>Is there a reason why looping through an implicit tuple in a <code>for</code> loop is okay, but when you do it in a comprehension you get a syntax error? </p>
  
  <p>For example:</p>
  
  <pre><code>for i in 'a','b','c': 
      print(i)
  
  'a'
  'b'
  'c'
  </code></pre>
  
  <p>But in a comprehension: </p>
  
  <pre><code>&gt;&gt;&gt; [i for i in 'a','b','c']
    File "&lt;stdin&gt;", line 1
      [i for i in 'a','b','c']
                     ^
  SyntaxError: invalid syntax
  </code></pre>
  
  <p>Is there a reason for this? I wasn't sure about the correct terminology, so my searches yielded nothing useful. </p>
  
  <p><strong>Update:</strong></p>
  
  <p>Per the comments, this syntax <em>is</em> valid for Python 2.x, but not for Python 3.x. </p>