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

List.mapi2<'T1,'T2,'U> Function (F#)

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

Like List.mapi, but mapping corresponding elements from two lists. The lists must have equal lengths.

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

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


// Signature:
List.mapi2 : (int -> 'T1 -> 'T2 -> 'U) -> 'T1 list -> 'T2 list -> 'U list

// Usage:
List.mapi2 mapping list1 list2


mapping Type: int-> 'T1 -> 'T2 -> 'U

The function to transform pairs of elements from the two lists and their index.

list1 Type: 'T1list

The first input list.

list2 Type: 'T2list

The second input list.

Return Value

The list of transformed elements.


ArgumentExceptionThrown when the input lists differ in length.


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


let list1 = [1; 2; 3]
let list2 = [4; 5; 6]
let listAddTimesIndex = List.mapi2 (fun i x y -> (x + y) * i) list1 list2
printfn "%A" listAddTimesIndex


[0; 7; 18]


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