From ff960fe98503d2b51075f513f2fa0b2eb68fc661 Mon Sep 17 00:00:00 2001 From: Angelos Chalaris Date: Wed, 21 Aug 2019 08:30:04 +0300 Subject: [PATCH] Add sum_by snippet --- snippets/max_by.md | 2 +- snippets/min_by.md | 2 +- snippets/sum_by.md | 17 +++++++++++++++++ 3 files changed, 19 insertions(+), 2 deletions(-) create mode 100644 snippets/sum_by.md diff --git a/snippets/max_by.md b/snippets/max_by.md index 0699975e0..dce10cb38 100644 --- a/snippets/max_by.md +++ b/snippets/max_by.md @@ -5,7 +5,7 @@ tags: math,list,function,beginner Returns the maximum value of a list, after mapping each element to a value using the provided function. -use `map()` with `fn` to map each element to a value using the provided function, convert to a `list` and use `max()` to return the maximum value. +Use `map()` with `fn` to map each element to a value using the provided function, convert to a `list` and use `max()` to return the maximum value. ```py def max_by(lst, fn): diff --git a/snippets/min_by.md b/snippets/min_by.md index 75c63bf76..810306b1d 100644 --- a/snippets/min_by.md +++ b/snippets/min_by.md @@ -5,7 +5,7 @@ tags: math,list,function,beginner Returns the minimum value of a list, after mapping each element to a value using the provided function. -use `map()` with `fn` to map each element to a value using the provided function, convert to a `list` and use `min()` to return the minimum value. +Use `map()` with `fn` to map each element to a value using the provided function, convert to a `list` and use `min()` to return the minimum value. ```py def min_by(lst, fn): diff --git a/snippets/sum_by.md b/snippets/sum_by.md new file mode 100644 index 000000000..90de69d0c --- /dev/null +++ b/snippets/sum_by.md @@ -0,0 +1,17 @@ +--- +title: sum_by +tags: math,list,function,beginner +--- + +Returns the sum of a list, after mapping each element to a value using the provided function. + +Use `map()` with `fn` to map each element to a value using the provided function, convert to a `list` and use `sum()` to return the sum of the values. + +```py +def sum_by(lst, fn): + return sum(list(map(fn,lst))) +``` + +```py +sum_by([{ 'n': 4 }, { 'n': 2 }, { 'n': 8 }, { 'n': 6 }], lambda v : v['n']) # 20 +```