共用方式為


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

建立新的集合,其元素會將提供的函式套用至兩個集合中的對應項目 pairwise 的結果。

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 清單的所有項目

第 n 個: '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

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

加總: ^ 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 7、Windows Vista SP2、Windows XP SP3、Windows XP x64 SP2、Windows Server 2008 R2、Windows Server 2008 SP2、Windows Server 2003 SP2

版本資訊

F# 執行階段

支援版本:2.0、4.0

Silverlight

支援版本:3

請參閱

參考

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

其他資源

清單 (F#)