w3resource

Python: Calculate the average of a given list, after mapping each element to a value using the provided function

Python List: Exercise - 238 with Solution

Write a Python program to calculate the average of a given list, after mapping each element to a value using the provided function.

  • Use map() to map each element to the value returned by fn.
  • Use sum() to sum all of the mapped values, divide by len(lst).
  • Omit the last argument, fn, to use the default identity function.

Sample Solution:

Python Code:

# Define a function 'average_by' that takes a list 'lst' and an optional function 'fn' as input.
def average_by(lst, fn=lambda x: x):
    # Calculate the average of the values in the list 'lst' by performing the following steps:
    # 1. Use the 'map' function to apply the function 'fn' to each element of the list 'lst'.
    # 2. Use 'sum' to calculate the sum of the mapped values, starting with a floating-point 0.0.
    # 3. Divide the sum by the length of the list 'lst' to compute the average.
    return sum(map(fn, lst), 0.0) / len(lst)

# Call the 'average_by' function with a list of dictionaries and a lambda function to extract the 'n' key's value.
# Print the result, which is the average of the 'n' values.
print(average_by([{ 'n': 4 }, { 'n': 2 }, { 'n': 8 }, { 'n': 6 }], lambda x: x['n']))
print(average_by([{ 'n': 10 }, { 'n': 20 }, { 'n': -30 }, { 'n': 60 }], lambda x: x['n'])) 

Sample Output:

5.0
15.0

Flowchart:

Flowchart: Calculate the average of a given list, after mapping each element to a value using the provided function.

Python Code Editor:

Previous: Write a Python program to convert a given list of dictionaries into a list of values corresponding to the specified key.
Next: Write a Python program to find the value of the first element in the given list that satisfies the provided testing function.

What is the difficulty level of this exercise?

Test your Programming skills with w3resource's quiz.



Follow us on Facebook and Twitter for latest update.