Lambda Functions

Basic Lambda

  1. # lambda syntax
  2. square = lambda x: x ** 2
  3. result = square(5)
  4. #ans: 25

Lambda with Multiple Parameters

  1. # multiple parameters
  2. add = lambda x, y: x + y
  3. result = add(3, 4)
  4. #ans: 7

Lambda in Sorted

  1. # lambda as key function
  2. pairs = [(1, 'one'), (3, 'three'), (2, 'two')]
  3. sorted_pairs = sorted(pairs, key=lambda pair: pair[1])
  4. #ans: [(1, 'one'), (3, 'three'), (2, 'two')]

Lambda in Map

  1. # lambda with map
  2. numbers = [1, 2, 3, 4, 5]
  3. squared = list(map(lambda x: x ** 2, numbers))
  4. #ans: [1, 4, 9, 16, 25]

Lambda in Filter

  1. # lambda with filter
  2. numbers = [1, 2, 3, 4, 5]
  3. evens = list(filter(lambda x: x % 2 == 0, numbers))
  4. #ans: [2, 4]

Exercises - Part 1

  1. # what is result?
  2. f = lambda x: x * 2
  3. f(5)
  4. #ans: 10

Exercises - Part 2

  1. # lambda with two parameters?
  2. multiply = lambda a, b: a * b
  3. multiply(3, 4)
  4. #ans: 12

Exercises - Part 3

  1. # immediate invocation?
  2. (lambda x: x + 1)(5)
  3. #ans: 6

Exercises - Part 4

  1. # lambda vs def?
  2. f = lambda x: x ** 2
  3. def g(x):
  4. return x ** 2
  5. f(3) == g(3)
  6. #ans: True

Exercises - Part 5

  1. # lambda with conditional?
  2. abs_val = lambda x: x if x >= 0 else -x
  3. abs_val(-5)
  4. #ans: 5

Exercises - Part 6

  1. # can lambda have multiple lines?
  2. f = lambda x: x + 1
  3. x + 2
  4. #ans: SyntaxError (lambda is single expression)

Exercises - Part 7

  1. # lambda in list?
  2. funcs = [lambda x: x+1, lambda x: x*2]
  3. funcs[0](5)
  4. #ans: 6

Exercises - Part 8

  1. # lambda with default argument?
  2. f = lambda x=5: x * 2
  3. f()
  4. #ans: 10

Exercises - Part 9

  1. # nested lambda?
  2. f = lambda x: (lambda y: x + y)
  3. f(5)(3)
  4. #ans: 8

Exercises - Part 10

  1. # lambda without parameter?
  2. f = lambda: 42
  3. f()
  4. #ans: 42

Google tag (gtag.js)