title: Why can't we directly print the output of a lambda function/expression directly as a string,list, or tuple?
body: <p>I am using Python 3. I am trying to write a <code>lambda function/expression</code> and generate a string type output. I am not sure what I am not understanding in this issue.</p>
  
  <pre><code>Cel = [39.5, 36.5, 37.3, 37.8]
  Fer = lambda x: (float(9)/5*x for x in Cel + 32)
  print(Fer)
  </code></pre>
  
  <p>prints:</p>
  
  <pre><code>&lt;function &lt;lambda&gt; at 0x7fafc369eea0&gt;
  </code></pre>
  
  <p>But, I want the list of values as:</p>
  
  <pre><code>[103.1, 97.70, 99.14, 100.03]
  </code></pre>
  
  <p>I then tried map with lambda</p>
  
  <pre><code>Fer2 = map(lambda x: (float(9)/5)*x + 32, Cel)
  print(Fer2) # prints:
  &lt;map object at 0x7fafc36b5b38&gt; # still no success
  
  for x in Fer:
      print(x)  # this doesn't work and gives following error
  TypeError: 'function' object is not iterable
  
  for x in Fer2:
      print(x) # but this works and prints
               103.10
               97.7
               99.14
               100.039
  </code></pre>
  
  <p>Why can't I get <code>print(Fer or Fer2)</code> simply as a a list of values, like:
  [103.1, 97.70, 99.14, 100.03]</p>
  
  <p>How do I solve this within lambda, without writing another <code>def function</code>?</p>