# 30+ MCQs on Python Map, Filter and Reduce Functions

Ayushi Trivedi 06 Mar, 2024

Welcome to the Python Map, Filter, and Reduce Functions Python Interview Questions! Map, filter, and reduce are powerful built-in functions in Python for functional programming paradigms. These functions allow you to apply a function to each element of a sequence, filter elements based on a condition, and reduce a sequence of elements to a single value. These questions will test your understanding of how to use map, filter, and reduce functions in Python, including their syntax, purpose, and examples. Each question is multiple-choice, with only one correct answer. Take your time to carefully read each question and choose the best option. Let’s explore the world of Python map, filter, and reduce functions together!

## 30+ Python Interview Questions on Python Map, Filter and Reduce Functions

#### Q1. What is the purpose of the `map()` function in Python?

a) To filter elements of a sequence based on a given function

b) To apply a function to every item in an iterable and return a list of the results

c) To reduce an iterable into a single cumulative value

d) To return a subset of elements from an iterable based on a condition

Explanation: The `map()` function in Python applies a given function to every item in an iterable and returns a list of the results.

#### Q2. Which of the following is a correct syntax for the `map()` function in Python?

a) `map(function, sequence)`

b) `map(sequence, function)`

c) `map(sequence)(function)`

d) `map(function)(sequence)`

Explanation: The correct syntax for the `map()` function is `map(function, sequence)` where `function` is the function to be applied and `sequence` is the iterable.

#### Q3. What does the `filter()` function in Python do?

a) Applies a function to every item in an iterable and returns a single cumulative value

b) Filters out elements of an iterable based on a given function

c) Returns a subset of elements from an iterable based on a condition

d) Maps a function to every item in an iterable and returns a list of the results

Explanation: The `filter()` function in Python returns a subset of elements from an iterable based on a condition specified by a function.

#### Q4. Which of the following is a correct syntax for the `filter()` function in Python?

a) `filter(function, sequence)`

b) `filter(sequence, function)`

c) `filter(sequence)(function)`

d) `filter(function)(sequence)`

Explanation: The correct syntax for the `filter()` function is `filter(function, sequence)` where `function` is the filtering function and `sequence` is the iterable.

#### Q5. What does the `reduce()` function in Python do?

a) Reduces an iterable into a single cumulative value using a function

b) Applies a function to every item in an iterable and returns a list of the results

c) Filters out elements of an iterable based on a given function

d) Maps a function to every item in an iterable and returns a list of the results

Explanation: The `reduce()` function in Python reduces an iterable into a single cumulative value by applying a function repeatedly to pairs of items.

#### Q6. Which module is required to use the `reduce()` function in Python?

a) math

b) functools

c) itertools

d) operator

Explanation: The `reduce()` function in Python is part of the `functools` module, so `import functools` is required to use it.

#### Q7. What will be the output of the following code?

``````from functools import reduce

def multiply(x, y):
return x * y

numbers = [1, 2, 3, 4, 5]
result = reduce(multiply, numbers)
print(result)
``````

a) 15

b) 120

c) 30

d) 10

Explanation: The code will output `120` because `reduce()` applies the `multiply` function cumulatively to the items of the `numbers` list.

#### Q8. What will the following code snippet do?

``````numbers = [1, 2, 3, 4, 5]
squared = map(lambda x: x**2, numbers)
``````

a) Creates a list of squares of each number in `numbers`

b) Filters out even numbers from `numbers`

c) Reduces `numbers` into a single cumulative value

d) Raises a syntax error

Explanation: The code creates a map object `squared` containing the squares of each number in the `numbers` list.

#### Q9. Which of the following statements about the `lambda` function in Python is true?

a) The `lambda` function can contain multiple expressions.

b) The `lambda` function can have a return statement.

c) The `lambda` function can have default arguments.

d) The `lambda` function can only have a single expression.

Explanation: The `lambda` function in Python can only have a single expression.

#### Q10. What will be the output of the following code?

``````def even_check(num):
if num % 2 == 0:
return True
else:
return False

numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
even_numbers = filter(even_check, numbers)
print(list(even_numbers))
``````

a) [1, 3, 5, 7, 9]

b) [2, 4, 6, 8, 10]

c) [True, False, True, False, True, False, True, False, True, False]

d) [2, 4, 6, 8]

Explanation: The code filters out even numbers from the `numbers` list using the `even_check` function and prints the resulting list.

#### Q11. Which of the following is equivalent to the `map()` function?

a) List comprehension

b) Generator expression

c) Iterator

d) Filter function

Explanation: List comprehension in Python is equivalent to the `map()` function as it can be used to perform similar tasks of applying a function to every item in an iterable.

#### Q12. What will be the output of the following code?

``````def add(a, b):
return a + b

numbers1 = [1, 2, 3, 4]
numbers2 = [5, 6, 7, 8]
print(list(sums))
``````

a) [6, 8, 10, 12]

b) [1, 2, 3, 4, 5, 6, 7, 8]

c) [15, 18, 21, 24]

d) [1, 5, 2, 6, 3, 7, 4, 8]

Explanation: The code creates a `map` object `sums` that adds corresponding elements from `numbers1` and `numbers2`, resulting in `[6, 8, 10, 12]`.

#### Q13. What does the `operator` module provide in Python?

a) Functions corresponding to built-in operations

b) Functions for creating iterators

c) Functions for sorting lists

d) Functions for mathematical operations

Explanation: The `operator` module in Python provides functions that correspond to built-in operations, making it useful for `map()` and `reduce()` functions.

#### Q14. What will the following code snippet do?

``````def is_positive(num):
return num > 0

numbers = [-1, 3, -5, 7, -9]
positive_nums = filter(is_positive, numbers)
``````

a) Create a list of positive numbers from `numbers`

b) Create a list of negative numbers from `numbers`

c) Create a list of even numbers from `numbers`

d) Create a list of all numbers from `numbers`

Explanation: The code filters out positive numbers from the `numbers` list using the `is_positive` function.

#### Q15. Which function can be used to combine elements of an iterable using a specified function and reduce it to a single value?

a) `apply()`

b) `join()`

c) `reduce()`

d) `combine()`

Explanation: The `reduce()` function in Python is used to combine elements of an iterable using a specified function and reduce it to a single value.

#### Q16. What will be the output of the following code?

``````from functools import reduce

numbers = [10, 20, 30, 40, 50]
total = reduce(lambda x, y: x + y, numbers)
print(total)
``````

a) 150

b) 100

c) 200

d) 250

Explanation: The code will output `150` because `reduce()` adds all the numbers in the `numbers` list together.

#### Q17. Which of the following statements about the `map()` function in Python is true?

a) `map()` always returns a list.

b) `map()` can only be used with functions that take a single argument.

c) `map()` can be used with multiple iterables.

d) `map()` modifies the original iterable.

Explanation: The `map()` function in Python can be used with multiple iterables, applying the given function to corresponding items.

#### Q18. What will the following code snippet do?

``````numbers = [1, 2, 3, 4, 5]
squared = map(lambda x: x**2, numbers)
``````

a) Create a list of squares of each number in `numbers`

b) Create a list of cubes of each number in `numbers`

c) Create a list of even numbers from `numbers`

d) Create a list of all numbers from `numbers`

Explanation: The code creates a map object `squared` containing the squares of each number in the `numbers` list.

#### Q19. Which function in Python can be used to filter a list of elements based on a given condition?

a) `reduce()`

b) `filter()`

c) `map()`

d) `apply()`

Explanation: The `filter()` function in Python is used to filter a list of elements based on a given condition.

#### Q20. What will be the output of the following code?

``````def is_even(num):
return num % 2 == 0

numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
even_numbers = filter(is_even, numbers)
print(list(even_numbers))
``````

a) [2, 4, 6, 8, 10]

b) [1, 3, 5, 7, 9]

c) [True, False, True, False, True, False, True, False, True, False]

d) [2, 4, 6, 8]

Explanation: The code filters out even numbers from the `numbers` list using the `is_even` function and prints the resulting list.

#### Q21. Which of the following functions can be used to apply a given function to every item of an iterable?

a) `reduce()`

b) `map()`

c) `filter()`

d) `apply()`

Explanation: The `map()` function in Python is used to apply a given function to every item of an iterable.

#### Q22. What will be the output of the following code?

``````from functools import reduce

numbers = [1, 2, 3, 4, 5]
product = reduce(lambda x, y: x * y, numbers)
print(product)
``````

a) 120

b) 30

c) 15

d) 10

Explanation: The code will output `120` because `reduce()` multiplies all the numbers in the `numbers` list together.

#### Q23. Which of the following is a correct syntax for the `reduce()` function in Python?

a) `reduce(sequence, function)`

b) `reduce(function, sequence)`

c) `reduce(sequence)(function)`

d) `reduce(function)(sequence)`

Explanation: The correct syntax for the `reduce()` function is `reduce(function, sequence)` where `function` is the reducing function and `sequence` is the iterable.

#### Q24. What will the following code snippet do?

``````numbers = [10, 20, 30, 40, 50]
doubled = map(lambda x: x * 2, numbers)
``````

a) Create a list of doubled numbers from `numbers`

b) Create a list of halved numbers from `numbers`

c) Create a list of even numbers from `numbers`

d) Create a list of all numbers from `numbers`

Explanation: The code creates a map object `doubled` containing the doubled values of each number in the `numbers` list.

#### Q25. Which function can be used to apply a function to each element of an iterable and return a list of results?

a) `apply()`

b) `map()`

c) `filter()`

d) `reduce()`

Explanation: The `map()` function in Python applies a function to each element of an iterable and returns a list of results.

#### Q26. What will be the output of the following code?

``````def is_vowel(char):
vowels = 'aeiouAEIOU'
return char in vowels

chars = ['a', 'b', 'c', 'd', 'e', 'F', 'G', 'H', 'I', 'j']
filtered_chars = filter(is_vowel, chars)
print(list(filtered_chars))
``````

a) [‘a’, ‘e’, ‘F’, ‘I’]

b) [‘a’, ‘e’, ‘I’]

c) [‘a’, ‘e’, ‘A’, ‘E’, ‘I’]

d) [‘a’, ‘e’]

Explanation: The code filters out the vowels from the `chars` list using the `is_vowel` function and prints the resulting list.

#### Q27. What does the `operator` module provide in Python?

a) Functions corresponding to built-in operations

b) Functions for creating iterators

c) Functions for sorting lists

d) Functions for mathematical operations

Explanation: The `operator` module in Python provides functions that correspond to built-in operations, making it useful for `map()` and `reduce()` functions.

#### Q28. What will be the output of the following code?

``````import functools

numbers = [1, 2, 3, 4, 5]
sums = functools.reduce(lambda x, y: x + y, numbers)
print(sums)
``````

a) 15

b) 10

c) 20

d) 25

Explanation: The code will output `15` because `reduce()` adds all the numbers in the `numbers` list together.

#### Q29. What will be the output of the following code?

``````def cube(num):
return num ** 3

numbers = [1, 2, 3, 4, 5]
cubed = map(cube, numbers)
print(list(cubed))
``````

a) [1, 8, 27, 64, 125]

b) [2, 4, 6, 8, 10]

c) [1, 2, 3, 4, 5]

d) [3, 6, 9, 12, 15]

Explanation: The code will output `[1, 8, 27, 64, 125]` because `map()` applies the `cube` function to each element in `numbers`.

#### Q30. What will be the output of the following code?

``````def square(num):
return num * num

numbers = [1, 2, 3, 4, 5]
squared = map(square, numbers)
print(list(squared))
``````

a) [1, 4, 9, 16, 25]

b) [2, 4, 6, 8, 10]

c) [1, 3, 5, 7, 9]

d) [1, 2, 3, 4, 5]

Explanation: The code will output `[1, 4, 9, 16, 25]` because `map()` applies the `square` function to each element in `numbers`.

#### Q31. What will be the output of the following code?

``````from functools import reduce

def multiply(x, y):
return x * y

numbers = [1, 2, 3, 4, 5]
product = reduce(multiply, numbers, 10)
print(product)
``````

a) 150

b) 120

c) 100

d) 200

Explanation: The code will output `120` because `reduce()` multiplies all the numbers in the `numbers` list together starting with an initial value of 10.