title: String join() method used with for loop
body: <p>I need your help, because I don't understand why is possible to use the <code>join()</code> method with a <code>for</code>loop as an argument.</p>
  
  <p>Ex:</p>
  
  <pre><code>" ".join(str(x) for x in list)
  </code></pre>
  
  <p>Python Documentation:</p>
  
  <blockquote>
    <p><code>str.join(iterable)</code>
    Return a string which is the concatenation of the strings in iterable.</p>
    
    <p>A <code>TypeError</code> will be raised if there are any non-string values in iterable, including bytes objects. The separator between elements is the string providing this method.</p>
  </blockquote>
  
  <p>Can please somebody explain?</p>