Mapped list average

Python, Math, List · Nov 2, 2020

Calculates the average of a 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.
def average_by(lst, fn = lambda x: x):
  return sum(map(fn, lst), 0.0) / len(lst)

average_by([{ 'n': 4 }, { 'n': 2 }, { 'n': 8 }, { 'n': 6 }], lambda x: x['n'])
# 5.0

More like this

  • Python Lists

    A snippet collection of list helpers and tips for Python 3.6.

    Collection · 100 snippets

  • Sum list based on function

    Calculates the sum of a list, after mapping each element to a value using the provided function.

    Python, Math · Nov 2, 2020

  • Max list value based on function

    Returns the maximum value of a list, after mapping each element to a value using the provided function.

    Python, Math · Nov 2, 2020

  • Min list value based on function

    Returns the minimum value of a list, after mapping each element to a value using the provided function.

    Python, Math · Nov 2, 2020