title: Why does creating a list of tuples using list comprehension requires parentheses?
body: <p>As noted in <a href="https://docs.python.org/3.8/howto/functional.html#generator-expressions-and-list-comprehensions" rel="noreferrer">Functional Programming HOWTO</a>, to create a list of tuples using list comprehension, parentheses must be used. Particularly, this is expressed in the document in the following quote.</p>
  
  <blockquote>
    <p>To avoid introducing an ambiguity into Python’s grammar, if <em>expression</em>
    is creating a tuple, it must be surrounded with parentheses.</p>
  </blockquote>
  
  <p>So, as examples:</p>
  
  <pre><code>[x, y for x in seq1 for y in seq2]  # This is a syntex error
  [(x, y) for x in seq1 for y in seq2]  # This is a correct expression of list of tuples using list comprehension
  </code></pre>
  
  <p>What ambiguity is avoided by forcing the use of parentheses in expressing a list of tuples using list comprehension?</p>