title: What is `suite` and `else` in Python's for grammar rule?
body: <p>Python3 defines for loop as <code>for_stmt: 'for' exprlist 'in' testlist ':' suite ['else' ':' suite]</code> in the <a href="https://docs.python.org/3/reference/grammar.html" rel="nofollow noreferrer">grammar book</a>. <code>suite</code> is defined as <code>suite: simple_stmt | NEWLINE INDENT stmt+ DEDENT</code>.</p>
  
  <p>For me, it's hard to understand how double for loop fits in the grammar description for list comprehension.</p>
  
  <p>There are several smaller questions:</p>
  
  <ul>
  <li>And what about <code>else</code>? I assume it's used for list comprehension.</li>
  <li>Then does a normal for loop can use <code>else</code> block?</li>
  </ul>
  
  <p>I'd appreciate if you can come with examples.</p>