DEV Community

loading...

Day 24 of 100DayOfCode : Simple Code On Python Iterator, Filter, Map

Durga Pokharel
A mathematics student learning to code.
・2 min read

Today I completed 24th Day of #100DayOfcode and #python. Today I also revised python basic with the help of internet and Youtube.
Tried to write some code in python.

New things today I learned were python iterator, python map, python filter, python reduce on youtube and with the help of friend. some simple code today I learned given below.

Some Simple Code On Python Iterator, Filter, Map

Python iterator is an object that can be iterated upon meaning that we can traverse through all the values. Technically, in python , an iterator is an object which implements the iter protocal, which consists of the method __iter__() and __next()

class TopTen:
    def __init__(self):
        self.num = 1
    def __iter__(self):
        return self
    def __next__(self):
        if self.num <= 10:
            val = self.num
            self.num += 1

        return val

values = TopTen()
print(values.__next__())
print(values.__next__())
Enter fullscreen mode Exit fullscreen mode

The map() function executes a specified function for each item in an iterable. The item is sent to the function as a parameter.

numbers = (1, 2, 3, 4)
result = map(lambda x: x*x, numbers)
print(result)


numbersSquare = set(result)
print(numbersSquare)
Enter fullscreen mode Exit fullscreen mode

The filter() method constructs an iterator from elements of an iterable for which a function return true.

In simple words, filter() method filters the given iterable with the help of a function that test each element in the iterable to be true or not.

def is_even(n):
    return n % 2 == 0
nums = [2,3,4,6,8,6,5,7]
evens =list( filter(is_even,nums))
print(evens)
Enter fullscreen mode Exit fullscreen mode

The reduce (fun, seq) function is used to apply a particular function passed in its argument to all of the list elements mentioned in the sequence passed along. This function is defined in "functools" module.

from functools import reduce 
nums = [2,3,4,6,8,6,5,7]
evens =list( filter(lambda n : n% 2 ==0,nums))
double =list(map(lambda n : n*2,evens))
sum = reduce(lambda a, b : a+b ,double)
#print(double)
print(sum)
Enter fullscreen mode Exit fullscreen mode

Discussion (0)