$ curl cheat.sh/
#  Are you talking about [lambda functions][1]? Like

 lambda x: x**2 + 2*x - 5

#  Those things are actually quite useful.  Python supports a style of
#  programming called _functional programming_ where you can pass
#  functions to other functions to do stuff. Example:

 mult3 = filter(lambda x: x % 3 == 0, [1, 2, 3, 4, 5, 6, 7, 8, 9])

#  sets `mult3` to `[3, 6, 9]`, those elements of the original list that
#  are multiples of 3. This is shorter (and, one could argue, clearer)
#  than

 def filterfunc(x):
     return x % 3 == 0
 mult3 = filter(filterfunc, [1, 2, 3, 4, 5, 6, 7, 8, 9])

#  Of course, in this particular case, you could do the same thing as a
#  list comprehension:

 mult3 = [x for x in [1, 2, 3, 4, 5, 6, 7, 8, 9] if x % 3 == 0]

#  (or even as `range(3,10,3)`), but there are many other, more
#  sophisticated use cases where you can't use a list comprehension and a
#  lambda function may be the shortest way to write something out.
#  
#  - Returning a function from another function

     >>> def transform(n):
     ...     return lambda x: x + n
     ...
     >>> f = transform(3)
     >>> f(4)
     7

 This is often used to create function wrappers, such as Python's decorators.
#  - Combining elements of an iterable sequence with `reduce()`

     >>> reduce(lambda a, b: '{}, {}'.format(a, b), [1, 2, 3, 4, 5, 6, 7, 8, 9])
     '1, 2, 3, 4, 5, 6, 7, 8, 9'
#  - Sorting by an alternate key

     >>> sorted([1, 2, 3, 4, 5, 6, 7, 8, 9], key=lambda x: abs(5-x))
     [5, 4, 6, 3, 7, 2, 8, 1, 9]

#  I use lambda functions on a regular basis. It took me a while to get
#  used to them, but eventually I came to understand that they're a very
#  valuable part of the language.
#  
#  [1]: https://docs.python.org/3.5/tutorial/controlflow.htmllambda-
#  expressions
#  
#  [David Z] [so/q/890128] [cc by-sa 3.0]

$
Follow @igor_chubin cheat.sh