# 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:**

**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.

**Weekly Trends and Language Statistics**- Weekly Trends and Language Statistics