Collections.List 模块 (F#)

列表的基本操作。

命名空间/模块路径: Microsoft.FSharp.Collections

程序集:FSharp.Core(在 FSharp.Core.dll 中)

module List

备注

有关 F# 中列表的概述,请参见列表 (F#)

说明

append : 'T list -> 'T list -> 'T list

返回一个新列表,其中包含第一个列表的元素,后跟第二个列表的元素。

average : 'T list -> ^T

返回列表中的元素的平均值。

averageBy : ('T -> ^U) -> 'T list -> ^U

返回通过将函数应用于列表的每个元素而生成的元素平均值。

choose : ('T -> 'U option) -> 'T list -> 'U list

将给定函数应用于列表的每个元素。 返回由各元素(该函数返回了 Some )的结果组成的列表。

collect : ('T -> 'U list) -> 'T list -> 'U list

对列表的每个元素应用给定函数。 连接所有结果并返回组合列表。

concat : seq<'T list> -> 'T list

返回一个新列表,其中按顺序包含各列表的元素。

empty : 'T list

返回给定类型的空列表。

exists : ('T -> bool) -> 'T list -> bool

测试列表的任何元素是否满足给定谓词。

exists2 : ('T1 -> 'T2 -> bool) -> 'T1 list -> 'T2 list -> bool

测试列表的任何对应元素对是否满足给定谓词。

filter : ('T -> bool) -> 'T list -> 'T list

返回一个新集合,其中仅包含给定谓词为其返回 true 的集合的元素。

find : ('T -> bool) -> 'T list -> 'T

返回给定函数为其返回 true 的第一个元素。

findIndex : ('T -> bool) -> 'T list -> int

返回满足给定谓词的列表中第一个元素的索引。

fold : ('State -> 'T -> 'State) -> 'State -> 'T list -> 'State

将函数应用于集合的每个元素,并在整个计算过程中使用一个累加器参数。 此函数接受第二个参数,并将函数 应用于该参数和列表的第一个元素。 然后,它将此结果随第二个元素等一起传递给函数。 最后返回最终的结果。 如果输入函数为 f,并且元素为 i0...iN,则此函数计算为f (... (f s i0) i1 ...) iN。

fold2 : ('State -> 'T1 -> 'T2 -> 'State) -> 'State -> 'T1 list -> 'T2 list -> 'State

将函数应用于两个集合的对应元素,并在整个计算过程中使用一个累加器参数。 集合必须具有相同的大小。 如果输入函数为 f,并且元素为 i0...iN 和 j0...jN,则此函数计算为 f (... (f s i0 j0)...) iN jN。

foldBack : ('T -> 'State -> 'State) -> 'T list -> 'State -> 'State

将函数应用于集合的每个元素,并在整个计算过程中使用一个累加器参数。 如果输入函数为 f,并且元素为 i0...iN,则计算 f i0 (...(f iN s))。

foldBack2 : ('T1 -> 'T2 -> 'State -> 'State) -> 'T1 list -> 'T2 list -> 'State -> 'State

将函数应用于两个集合的对应元素,并在整个计算过程中使用一个累加器参数。 集合必须具有相同的大小。 如果输入函数为 f,并且元素为 i0...iN 和 j0...jN,则此函数计算为 f i0 j0 (...(f iN jN s))。

forall : ('T -> bool) -> 'T list -> bool

测试集合的所有元素是否满足给定谓词。

forall2 : ('T1 -> 'T2 -> bool) -> 'T1 list -> 'T2 list -> bool

测试是否集合的所有对应元素都满足给定谓词配对。

head : 'T list -> 'T

返回列表的第一个元素。

init : int -> (int -> 'T) -> 'T list

通过对每个索引调用给定的生成器来创建列表。

isEmpty : 'T list -> bool

如果列表不包含任何元素,则返回 true;否则返回 false。

iter : ('T -> unit) -> 'T list -> unit

将给定函数应用于集合的每个元素。

iter2 : ('T1 -> 'T2 -> unit) -> 'T1 list -> 'T2 list -> unit

将给定函数同时应用于两个集合。 集合必须具有相同的大小。

iteri : (int -> 'T -> unit) -> 'T list -> unit

将给定函数应用于集合的每个元素。 传递到函数的整数指示元素的索引。

iteri2 : (int -> 'T1 -> 'T2 -> unit) -> 'T1 list -> 'T2 list -> unit

将给定函数同时应用于两个集合。 集合必须具有相同的大小。 传递到函数的整数指示元素的索引。

length : 'T list -> int

返回列表的长度。

map : ('T -> 'U) -> 'T list -> 'U list

创建一个新集合,其元素是将给定函数应用于集合的每个元素的结果。

map2 : ('T1 -> 'T2 -> 'U) -> 'T1 list -> 'T2 list -> 'U list

创建一个新集合,其元素是对两个集合的对应元素成对应用给定函数的结果。

map3 : ('T1 -> 'T2 -> 'T3 -> 'U) -> 'T1 list -> 'T2 list -> 'T3 list -> 'U list

创建一个新集合,其元素是对三个集合的对应元素同时应用给定函数的结果。

mapi : (int -> 'T -> 'U) -> 'T list -> 'U list

创建一个新集合,其元素是将给定函数应用于集合的每个元素的结果。 传递到函数的整数索引指示所转换的元素的索引(从 0 开始)。

mapi2 : (int -> 'T1 -> 'T2 -> 'U) -> 'T1 list -> 'T2 list -> 'U list

类似于 List.mapi,但映射两个等长列表中的相应元素。

max : 'T list -> 'T

使用 Operators.max 进行比较,返回列表的所有元素的最大值。

maxBy : ('T -> 'U) -> 'T list -> 'T

通过对函数结果运行 Operators.max 进行比较,返回列表的所有元素的最大值。

min : 'T list -> 'T

通过运行 Operators.min 进行比较,返回列表的所有元素的最小值。

minBy : ('T -> 'U) -> 'T list -> 'T

通过对函数结果运行 Operators.min 进行比较,返回列表的所有元素的最小值

nth : 'T list -> int -> 'T

列表的索引。 第一个元素的索引为 0。

ofArray : 'T [] -> 'T list

从给定的数组中创建列表。

ofSeq : seq<'T> -> 'T list

从给定的可枚举对象中创建新列表。

Partition — 分区 : ('T -> bool) -> 'T list * 'T list

将一个集合拆分成两个集合,分别包含给定谓词为其返回 true 和 false 的元素。

permute : (int -> int) -> 'T list -> 'T list

返回一个列表,其中所有元素都按指定的排序规则重新排序。

pick : ('T -> 'U option) -> 'T list -> 'U

将给定函数应用于连续的元素并返回第一个结果,该函数会为某个值返回 Some 。

reduce : ('T -> 'T -> 'T) -> 'T list -> 'T

将函数应用于集合的每个元素,并在整个计算过程中使用一个累加器参数。 此函数将指定函数应用于列表的前两个元素。 然后,它将此结果随第三个元素等一起传递给函数。 最后返回最终的结果。 如果输入函数为 f,并且元素为 i0...iN,则此函数计算为f (... (f i0 i1) i2 ...) iN。

reduceBack : ('T -> 'T -> 'T) -> 'T list -> 'T

将函数应用于集合的每个元素,并在整个计算过程中使用一个累加器参数。 如果输入函数为 f,并且元素为 i0...iN,则此函数计算为f i0 (...(f iN-1 iN))。

replicate : (int -> 'T -> 'T list)

通过对每个索引调用给定的生成器来创建列表。

rev : 'T list -> 'T list

返回元素顺序相反的新列表。

scan : ('State -> 'T -> 'State) -> 'State -> 'T list -> 'State list

将函数应用于集合的每个元素,并在整个计算过程中使用一个累加器参数。 此函数接受第二个参数,并将指定函数应用于该参数和列表的第一个元素。 然后,它将此结果随第二个元素等一起传递给函数。 最后返回中间结果和最终结果的列表。

scanBack : ('T -> 'State -> 'State) -> 'T list -> 'State -> 'State list

foldBack 类似,但返回中间结果和最终结果

sort : 'T list -> 'T list

使用 Operators.compare 对给定列表进行排序。

sortBy : ('T -> 'Key) -> 'T list -> 'T list

用给定的投影提供的键对给定的列表进行排序。 使用 Operators.compare 对键进行比较。

sortWith : ('T -> 'T -> int) -> 'T list -> 'T list

使用给定的比较函数对给定列表进行排序。

:^T 列表 -> ^T

返回列表中的元素的总和。

sumBy : ('T -> ^U) -> 'T list -> ^U

返回通过将函数应用于列表的每个元素而生成的结果的总和。

tail : 'T list -> 'T list

返回不具有第一个元素的输入列表。

toArray : 'T list -> 'T []

从给定的列表中创建数组。

toSeq : 'T list -> seq<'T>

以序列的形式查看给定列表。

tryFind : ('T -> bool) -> 'T list -> 'T option

返回给定函数为其返回 true 的第一个元素。 如果不存在此类元素,则返回 None。

tryFindIndex : ('T -> bool) -> 'T list -> int option

返回满足给定谓词的列表中第一个元素的索引。 如果不存在此类元素,则返回 None。

tryPick : ('T -> 'U option) -> 'T list -> 'U option

将给定函数应用于连续的元素并返回第一个结果,该函数会为某个值返回 Some 。 如果不存在此类元素,则返回 None。

unzip : ('T1 * 'T2) list -> 'T1 list * 'T2 list

将一个配对列表拆分成两个列表。

unzip3 : ('T1 * 'T2 * 'T3) list -> 'T1 list * 'T2 list * 'T3 list

将三元组列表拆分成三个列表。

zip : 'T1 list -> 'T2 list -> ('T1 * 'T2) list

将两个列表组合为一个配对列表。 两个列表的长度必须相等。

zip3 : 'T1 list -> 'T2 list -> 'T3 list -> ('T1 * 'T2 * 'T3) list

将三个列表组合为一个三元组列表。 列表的长度必须相等。

平台

Windows 8,Windows 7,Windows server 2012中,Windows server 2008 R2

版本信息

F#核心库版本

支持:2.0,4.0,可移植

请参见

参考

Microsoft.FSharp.Collections 命名空间 (F#)

其他资源

列表 (F#)