Table of contents
Collapse the table of content
Expand the table of content

List.sumBy<'T,^U> Function (F#)

Den Delimarsky|Last Updated: 8/18/2017
2 Contributors

Returns the sum of the results generated by applying the function to each element of the list.

Namespace/Module Path: Microsoft.FSharp.Collections.List

Assembly: FSharp.Core (in FSharp.Core.dll)


// Signature:
List.sumBy : ('T -> ^U) -> 'T list -> ^U (requires ^U with static member (+) and ^U with static member Zero)

// Usage:
List.sumBy projection list


projection Type: 'T -> ^U

A function that transforms the list elements into the type to be summed.

list Type: 'Tlist

The input list.

Return Value

The sum of the results of applying the projection function to each element of the list.


May throw an OverflowException due to arithmetic overflows.


The results are summed using the checked + operator and Zero property associated with the summed type.

This function is named SumBy in compiled assemblies. If you are accessing the function from a .NET language other than F#, or through reflection, use this name.


The following code example illustrates the use of List.sum, List.sumBy, and List.average:

// Compute the sum of the first 10 integers by using List.sum.
let sum1 = List.sum [1 .. 10]

// Compute the sum of the squares of the elements of a list by using List.sumBy.
let sum2 = List.sumBy (fun elem -> elem*elem) [1 .. 10]

// Compute the average of the elements of a list by using List.average.
let avg1 = List.average [0.0; 1.0; 1.0; 2.0]

printfn "%f" avg1




Windows 8, Windows 7, Windows Server 2012, Windows Server 2008 R2

Version Information

F# Core Library Versions

Supported in: 2.0, 4.0, Portable

See Also

Collections.List Module (F#)

Microsoft.FSharp.Collections Namespace (F#)

© 2019 Microsoft