📜  F#序列

📅  最后修改于: 2021-01-01 05:09:43             🧑  作者: Mango

F#序列

在F#中,序列是一系列相同类型的元素。它提供了比列表更好的性能。

当您有大量有序的数据收集但又不想使用所有元素时,此功能很有用。

句法:

seq{start .. end}    

seq {start .. skip .. end}

您可以通过指定开始和结束索引来创建序列。您也可以通过在开始索引和结束索引之间添加skip元素来创建。让我们来看一个例子。

F#创建序列表达式Example1

您可以创建如下的序列表达式。在这里,我们使用了Seq.iter()函数来迭代序列。我们还可以使用for循环或数组格式说明符来迭代序列元素。

let seq1 =
 seq { 0 .. 10 }
Seq.iter(fun a->printf " %d" a)seq1

输出:

0 1 2 3 4 5 6 7 8 9 10

F#创建序列示例2

您还可以通过在开始索引和结束索引之间添加一个skip元素来创建序列。

let seqExample = 
 seq { 0 ..5.. 50 }

Seq.iter(fun a->printf " %d" a)seqExample  

输出:

0 5 10 15 20 25 30 35 40 45 50

F#从数组示例创建序列

您还可以使用ofArray方法从数组创建序列。让我们来看一个例子。

let seq = [|1..10|] |> Seq.ofArray
Seq.iter(fun a->printf"%d " a) seq

输出:

1 2 3 4 5 6 7 8 9 10

F#从列表示例创建序列

您也可以使用ofList方法创建序列。

let seq = [1..10] |> Seq.ofList
Seq.iter(fun a->printf"%d " a)seq

输出:

1 2 3 4 5 6 7 8 9 10

F#顺序搜索元素

在Sequence中,Seq.exists()方法搜索元素。如果找到的元素返回true,则返回true。让我们来看一个例子。

let sequenceSearch number seq =
 Seq.exists (fun s->s=number)seq

let isExist = sequenceSearch 50 {1..10}
printf "%b" isExist

输出:

false

F#排序序列示例

在Sequence中,Seq.sort()方法用于对序列中的元素进行排序。让我们来看一个例子。

let sequenceSort seq =
 Seq.sort seq
let x = sequenceSort([2;5;8;3;4])
Seq.iter(fun a->printf"%d " a)x

输出:

2 3 4 5 8