-> Common function used in python: map, filter, zip, and replace -> map: Prototype: map(, ) Whatever the first argument, i.e., function can do, map will do the same logic for each item in the iterable and return the iterable with same structure. for ex: my_list = [1,2,3] def multiply_by2(item): return item*2 print(list(map(multiply_by2, my_list))) print(my_list) -> filter: Prototype: filter(, ) To filter some items from the iterable based on the condition defined in the function which return some boolean value. for ex: my_list = [1,2,3] def only_odd(item): return item % 2 == 0 print(list(filter(only_odd, my_list))) print(my_list) -> zip: Prototype: zip( , ) combine each items from both iterable together. for ex: my_list = [1, 2, 3] your_list = [10, 20, 30] print(list(zip(my_list, your_list))) print(my_list) Output: [(1,10), (2,20), (3,30)] -> reduce: to use reduce add the below line: from functools import reduce # What reduce does? # reduce take the function given and take item from the # iterable and pass to function given to it. The first # parameter is the value initialized as the 3rd argument # to the reduce function. It do the processing and returns # a value which is used as next initialiizing value for the # first argument of the function provided in the reduce function # and so on for all items in iterable. -> lambda expressions: one time anonymous function. Prototype: lambda item: for ex: my_list = [1,2,3] print(list(map(lambda item: item*2, my_list))) -> list comprehension: for ex: my_list = [char for char in 'hello'] print(my_list)