共用方式為


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 清單 -> 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

使用指定的比較函式排序指定的清單。

sum : ^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,可攜式執行檔 (PE)。

請參閱

參考

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

其他資源

清單 (F#)