Skip to main content

Higher Order Functions in Python

 Map Function

Map takes a function and a collection of items. 

It makes a new, empty collection, runs the function on each item in the original collection and inserts each return value into the new collection. It returns the new collection.

This is a simple map that takes a list of names and returns a list of the lengths of those names:

name_lengths = map(len, ["Mary", "Isla", "Sam"])

print(name_lengths) =>[4, 4, 3]


Syntax:
map(fun, iter)

fun : It is a function to which map passes each element of given iterable.
iter : It is a iterable which is to be mapped.

def addition(n):
    return n + n
  
# We double all numbers using map()
numbers = (1, 2, 3, 4)
result = map(addition, numbers)
print(list(result))


>>[2, 4, 6, 8]


Reduce Function

Reduce takes a function and a collection of items. It returns a value that is created by combining the items.

This is a simple reduce. It returns the sum of all the items in the collection.

total = reduce(lambda a, x: a + x, [0, 1, 2, 3, 4])

print(total) =>10


Syntax:

filter(functioniterable)

function: A Function to be run for each item in the iterable

iterable: The iterable to be filtered


Example:

def my_func3(x,y):

  return x+y

from functools import reduce

reduce(my_func3,[1,2,3,4,5])

>>15

Filter Function

Filter takes a function and a collection. It returns a collection of every item for which the function returned True.

arr=[1,2,3,4,5,6]

[i for i in filter(lambda x:x>4,arr)] 

# outputs[5,6]


Syntax:

 reduce(functioniterable)

function: A Function to be run for each item in the iterable

iterable: The iterable to be reduced


Example:

ages = [51217182432]

def myFunc(x):
  if x < 18:
    return False
  else:
    return True

adults filter(myFunc, ages)

for x in adults:
  print(x)

>> 18

    24
    32

Comments

Popular posts from this blog

Is-A and Has-A relationships in python

  In object-oriented programming, the concept of IS-A is a totally based on Inheritance, which can be of two types Class Inheritance or Interface Inheritance. It is just like saying "A is a B type of thing". For example, Apple is a Fruit, Car is a Vehicle etc. Inheritance is uni-directional. For example, House is a Building. But Building is not a House. #Is-A relationship --> By Inheritance class  A:    def   __init__ ( self ):      self .b= 10    def   mym1 ( self ):      print ( 'Parent method' ) class  B(A):    def   mym2 ( self ):      print ( 'Child method' ) d = B() d.mym1() #output: Parent method d.mym2() #output: Child method HAS-A Relationship:  Composition(HAS-A) simply mean the use of instance variables that are references to other objects. For example Maruti has Engine, or House has Bathroom. Let’s understand...

Exception Handling in Python

  Introduction   An error is an abnormal condition that results in unexpected behavior of a program. Common kinds of errors are syntax errors and logical errors. Syntax errors arise due to poor understanding of the language. Logical errors arise due to poor understanding of the problem and its solution.   Anomalies that occur at runtime are known as exceptions. Exceptions are of two types: synchronous exceptions and asynchronous exceptions. Synchronous exceptions are caused due to mistakes in the logic of the program and can be controlled. Asynchronous exceptions are caused due to hardware failure or operating system level failures and cannot be controlled.   Examples of synchronous exceptions are: divide by zero, array index out of bounds, etc.) . Examples of asynchronous exceptions are: out of memory error, memory overflow, memory underflow, disk failure, etc. Overview of errors and exceptions in Python is as follows:     Handling Exceptions   Flowch...

Pandas in python

  Pandas is an open source Python package that is most widely used for data science/data analysis and machine learning tasks. Install and import -> pip install pandas To import pandas we usually import it with a shorter name since it's used so much: import pandas as pd Data Structures in Pandas The primary two components of pandas are the  Series  and  DataFrame . A  Series  is essentially a column, and a  DataFrame  is a multi-dimensional table made up of a collection of Series. Pandas Series Pandas Series is a one-dimensional labeled array capable of holding data of any type (integer, string, float, python objects, etc.). The axis labels are collectively called  index . Pandas Series is nothing but a column in an excel sheet. >>> import pandas as pd >>> a=pd. Series ([1,2,3,4,5,6,7,8]) >>> a 0    1 1    2 2    3 3    4 4    5 5    6 6  ...