फंक्शन map(), filter(), reduce() क्या हैं?

Python में कोडिंग इंटरव्यू प्रश्नों का अभ्यास

Kirill Smirnov

Data Science Consultant, Altran

map()

map(                                                )
Python में कोडिंग इंटरव्यू प्रश्नों का अभ्यास

map()

map(                       Iterable1, Iterable2, ...)

Iterables: [1, 2, 3, 4, 5], [10, 20, 30, 40, 50], ...

Python में कोडिंग इंटरव्यू प्रश्नों का अभ्यास

map()

map(function(x1, x2, ...), Iterable1, Iterable2, ...)

Iterables: [1, 2, 3, 4, 5], [10, 20, 30, 40, 50], ...

1, 10, ... $\rightarrow$ function(1, 10, ...) $\rightarrow$ नया ऑब्जेक्ट

2, 20, ... $\rightarrow$ function(2, 20, ...) $\rightarrow$ नया ऑब्जेक्ट

3, 30, ... $\rightarrow$ function(3, 30, ...) $\rightarrow$ नया ऑब्जेक्ट

4, 40, ... $\rightarrow$ function(4, 40, ...) $\rightarrow$ नया ऑब्जेक्ट

5, 50, ... $\rightarrow$ function(5, 50, ...) $\rightarrow$ नया ऑब्जेक्ट

Python में कोडिंग इंटरव्यू प्रश्नों का अभ्यास

map() एकल Iterable के साथ

nums = [1, 2, 3, 4, 5]

लक्ष्य: [1, 4, 9, 16, 25] पाना

def squared(x):
    return x**2
squares = map(squared, nums)
print(squares)
<map object at 0x7fdbe4ab3da0>

squares iterable है

for square in squares:
    print(square)
1
4
9
16
25
Python में कोडिंग इंटरव्यू प्रश्नों का अभ्यास

map() एकल Iterable के साथ

nums = [1, 2, 3, 4, 5]

लक्ष्य: [1, 4, 9, 16, 25] पाना

def squared(x):
    return x**2
squares = map(squared, nums)
print(squares)
<map object at 0x7fdbe4ab3da0>

squares Iterable है

list(squares)
[1, 4, 9, 16, 25]
Python में कोडिंग इंटरव्यू प्रश्नों का अभ्यास

map() एकल Iterable के साथ

nums = [1, 2, 3, 4, 5]

लक्ष्य: [1, 4, 9, 16, 25] पाना

def squared(x):
    return x**2
squares = map(squared, nums)
print(squares)
<map object at 0x7fdbe4ab3da0>

squares Iterator है

next(squares)
1
next(squares)
4
Python में कोडिंग इंटरव्यू प्रश्नों का अभ्यास

map() lambda expressions के साथ

nums = [1, 2, 3, 4, 5]

लक्ष्य: [1, 4, 9, 16, 25] पाना

def squared(x):
    return x**2
squares = map(squared, nums)
list(squares)
[1, 4, 9, 16, 25]
nums = [1, 2, 3, 4, 5]

लक्ष्य: [1, 4, 9, 16, 25] पाना

squares = map(lambda x: x**2, nums)
list(squares)
[1, 4, 9, 16, 25]
Python में कोडिंग इंटरव्यू प्रश्नों का अभ्यास

map() multiple Iterables के साथ

nums1 = [1, 2, 3, 4, 5]
nums2 = [10, 20, 30, 40, 50]

लक्ष्य: [1*10, 2*20, 3*30, 4*40, 5*50] = [10, 40, 90, 160, 250] पाना

mult = map(lambda x, y: x*y, nums1, nums2)
list(mult)
[10, 40, 90, 160, 250]
Python में कोडिंग इंटरव्यू प्रश्नों का अभ्यास

filter()

filter(                     )
Python में कोडिंग इंटरव्यू प्रश्नों का अभ्यास

filter()

filter(             Iterable)

Iterable: [1, 2, 3, 4, 5]

Python में कोडिंग इंटरव्यू प्रश्नों का अभ्यास

filter()

filter(function(x), Iterable)

Iterable: [1, 2, 3, 4, 5]

1 $\rightarrow$ function(1) $\rightarrow$ True $\rightarrow$ 1 रखा गया

2 $\rightarrow$ function(2) $\rightarrow$ False $\rightarrow$ 2 हटाया गया

3 $\rightarrow$ function(3) $\rightarrow$ True $\rightarrow$ 3 रखा गया

4 $\rightarrow$ function(4) $\rightarrow$ False $\rightarrow$ 4 हटाया गया

5 $\rightarrow$ function(5) $\rightarrow$ True $\rightarrow$ 5 रखा गया

Python में कोडिंग इंटरव्यू प्रश्नों का अभ्यास

filter() उदाहरण

nums = [-3, -2, -1, 0, 1, 2, 3]

लक्ष्य: [1, 2, 3] पाना

def positive(x):
    return x > 0
fobj = filter(positive, nums)
print(fobj)
<filter object at 0x7f196d378d68>

fobj Iterable है

for item in fobj:
    print(item)
1
2
3
Python में कोडिंग इंटरव्यू प्रश्नों का अभ्यास

filter() उदाहरण

nums = [-3, -2, -1, 0, 1, 2, 3]

लक्ष्य: [1, 2, 3] पाना

def positive(x):
    return x > 0
fobj = filter(positive, nums)
print(fobj)
<filter object at 0x7f196d378d68>

fobj Iterable है

list(fobj)
[1, 2, 3]
Python में कोडिंग इंटरव्यू प्रश्नों का अभ्यास

filter() उदाहरण

nums = [-3, -2, -1, 0, 1, 2, 3]

लक्ष्य: [1, 2, 3] पाना

def positive(x):
    return x > 0
fobj = filter(positive, nums)
print(fobj)
<filter object at 0x7f196d378d68>

fobj Iterator है

next(fobj)
1
next(fobj)
4
Python में कोडिंग इंटरव्यू प्रश्नों का अभ्यास

filter() lambda expressions के साथ

nums = [-3, -2, -1, 0, 1, 2, 3]

लक्ष्य: [1, 2, 3] पाना

def positive(x):
    return x > 0
fobj = filter(positive, nums)
list(fobj)
[1, 2, 3]
nums = [-3, -2, -1, 0, 1, 2, 3]

लक्ष्य: [1, 2, 3] पाना

fobj = filter(lambda x: x > 0, nums)
list(fobj)
[1, 2, 3]
Python में कोडिंग इंटरव्यू प्रश्नों का अभ्यास

reduce()

from functools import reduce

reduce(function(x, y), Iterable)

Iterable: [1, 2, 3, 4, 5]

[1, 2, 3, 4, 5] $\rightarrow$ सामग्री के समान टाइप का नया ऑब्जेक्ट

दी गई सूची का चित्रण

Python में कोडिंग इंटरव्यू प्रश्नों का अभ्यास

reduce()

from functools import reduce

reduce(function(x, y), Iterable)

Iterable: [1, 2, 3, 4, 5]

[1, 2, 3, 4, 5] $\rightarrow$ सामग्री के समान टाइप का नया ऑब्जेक्ट

सूची के पहले दो तत्वों को जोड़ना

Python में कोडिंग इंटरव्यू प्रश्नों का अभ्यास

reduce()

from functools import reduce

reduce(function(x, y), Iterable)

Iterable: [1, 2, 3, 4, 5]

[1, 2, 3, 4, 5] $\rightarrow$ सामग्री के समान टाइप का नया ऑब्जेक्ट

आउटपुट को सूची के तीसरे तत्व से जोड़ना

Python में कोडिंग इंटरव्यू प्रश्नों का अभ्यास

reduce()

from functools import reduce

reduce(function(x, y), Iterable)

Iterable: [1, 2, 3, 4, 5]

[1, 2, 3, 4, 5] $\rightarrow$ सामग्री के समान टाइप का नया ऑब्जेक्ट

आउटपुट को सूची के चौथे तत्व से जोड़ना

Python में कोडिंग इंटरव्यू प्रश्नों का अभ्यास

reduce()

from functools import reduce

reduce(function(x, y), Iterable)

Iterable: [1, 2, 3, 4, 5]

[1, 2, 3, 4, 5] $\rightarrow$ सामग्री के समान टाइप का नया ऑब्जेक्ट

आउटपुट को सूची के पाँचवें तत्व से जोड़ना

Python में कोडिंग इंटरव्यू प्रश्नों का अभ्यास

reduce() उदाहरण

nums = [8, 4, 5, 1, 9]

लक्ष्य: 1 पाना - न्यूनतम

def smallest(x, y):
    if x < y:
        return x
    else:
        return y
reduce(smallest, nums)
1

smallest(8, 4) $\rightarrow$ 4

smallest(4, 5) $\rightarrow$ 4

smallest(4, 1) $\rightarrow$ 1

smallest(1, 9) $\rightarrow$ 1 - अंतिम परिणाम

Python में कोडिंग इंटरव्यू प्रश्नों का अभ्यास

reduce() lambda expressions के साथ

nums = [8, 1, 4, 2, 9]

लक्ष्य: 1 पाना - न्यूनतम

def smallest(x, y):
    if x < y:
        return x
    else:
        return y
reduce(smallest, nums)
1
nums = [8, 1, 4, 2, 9]

लक्ष्य: 1 पाना - न्यूनतम

reduce(lambda x, y: x if x < y else y, nums)
1
Python में कोडिंग इंटरव्यू प्रश्नों का अभ्यास

अभ्यास करते हैं!

Python में कोडिंग इंटरव्यू प्रश्नों का अभ्यास

Preparing Video For Download...