In [1]:
# breaking down a simple def into a lambda
def square(num):
    result = num**2
    return result

In [2]:
# shorten this a bit
def square(num):
    return num**2

In [3]:
def square(num): return num**2 # bad style, but works syntactically

In [4]:
square(3)


Out[4]:
9

In [8]:
square_2 = lambda num: num**2

In [10]:
square_2(4)


Out[10]:
16

In [12]:
# check if number is even
evens = lambda num: num % 2 == 0

In [14]:
evens(4)


Out[14]:
True

In [15]:
evens(5)


Out[15]:
False

In [16]:
comparison = lambda x,y: x > y

In [17]:
comparison(4, 5)


Out[17]:
False

In [18]:
comparison(2, 1)


Out[18]:
True

In [19]:
type(comparison)


Out[19]:
function

In [20]:
# grabs first character of a string
grab_first = lambda word: word[0]

In [21]:
grab_first("hello")


Out[21]:
'h'

In [22]:
# reverse string
reverse_s = lambda s: s[::-1]

In [23]:
reverse_s("hello, world!")


Out[23]:
'!dlrow ,olleh'

In [24]:
# add two numbers

In [25]:
adder = lambda x, y: x + y

In [26]:
adder(4, 5)


Out[26]:
9

In [28]:
adder("hello", "world!")


Out[28]:
'helloworld!'

In [29]:
adder(["hello"], ["world"])


Out[29]:
['hello', 'world']

In [30]:
# used primarily in this:
map()
filter()
reduce()


---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-30-2255bf60e608> in <module>()
----> 1 map()
      2 filter()

TypeError: map() requires at least two args

In [ ]: