title: Recommended usage of Python dictionary, functions as values
body: <p>I'm looking for some help understanding best practices regarding dictionaries in Python. </p>
  
  <p>I have an example below:</p>
  
  <pre><code>def convert_to_celsius(temp, source):
      conversion_dict = {
          'kelvin': temp - 273.15,
          'romer': (temp - 7.5) * 40 / 21
      }
      return conversion_dict[source]
  
  
  def convert_to_celsius_lambda(temp, source):
      conversion_dict = {
          'kelvin': lambda x: x - 273.15,
          'romer': lambda x: (x - 7.5) * 40 / 21
      }
      return conversion_dict[source](temp)
  </code></pre>
  
  <p>Obviously, the two functions achieve the same goal, but via different means. Could someone help me understand the subtle difference between the two, and what the 'best' way to go on about this would be?</p>