why lambda function used in python code example

Example 1: lambda function in python

In Python, an anonymous function is a function that is defined without a name.

While normal functions are defined using the def keyword in Python, 
anonymous functions are defined using the lambda keyword.

Hence, anonymous functions are also called lambda functions.

# syntax of Lambda function
lambda arguments: expression

# Program to show the use of lambda functions
double = lambda x: x * 2

print(double(5))

# examples
my_list = range(101)

print(list(map(lambda item: item**2, my_list)))
print(list(filter(lambda item: item % 2 == 1, my_list)))
print(list(map(lambda item: item**2, my_list)))

a = [(0, 2), (4, 3), (9, 9), (10, -1)]

a.sort(key=lambda x: x[1])

print(a)

# docs lambda function
# the lambda function can be used as a function inside a function like the following


def make_incrementor(n):
    return lambda x: x + n


f = make_incrementor(12)
print(f(3))
print(f(13))

# you can use lambda as a key for sort or anything else
pairs = [(1, "one"), (2, "two"), (3, "three"), (4, "four")]
# what if you wanna sort the list by the second argument
pairs.sort(key=lambda x: x[1])
print(pairs)

Example 2: lambda function in python

# This is a normal function:
def Function(Parameter):
  return Parameter

# And this is a lambda function
Function = lambda Parameter : Parameter

"""

They are both equivalent and do the exact same job (which is
to take in a parameter and output it, in this scenario) the reason
lambda functions exist is to make code shorter and readable since
a lambda function only takes up one line.

Lambda functions are mostly used for simple things
Whereas defining functions are used for complex things.

You do not have to use lambda functions, it's all about preference.

An example of where it would be used is in basic arithmetics, im only
going to show addition, I think you can work out the rest:

"""

Add = lambda a, b: a + b

print(Add(3,4))
# Output:
# >>> 7

# Its equivalent:

def Add(a ,b):
  return a + b

print(Add(3,4))
# Output:
# >>> 7