30秒学会 Python 片段 · 2023年3月15日

30秒学会 Python 片段 – Sum list based on function

Calculates 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.
  • Use sum() to return the sum of the values.

代码实现

def sum_by(lst, fn):
  return sum(map(fn, lst))

使用样例

sum_by([{ 'n': 4 }, { 'n': 2 }, { 'n': 8 }, { 'n': 6 }], lambda v : v['n']) # 20

翻译自:https://www.30secondsofcode.org/python/s/sum-by