检查元素是否在序列中

pis*_*hio 15 f#

如何检查序列中是否包含元素?我期待一些Seq.contains,但我找不到它.谢谢

编辑:或者,为了更容易的任务,如何在两个序列之间进行差异?比如,获取列表中不属于另一个(或那个)的所有元素?

The*_*ost 34

有点简单:

let contains x = Seq.exists ((=) x)
Run Code Online (Sandbox Code Playgroud)

  • 它只是一个操作符,但用括号括起来就像一个普通的函数.运算符由未被识别为函数名的特殊字符(如"=")组成.例如:`let z = x + y //与let z =(+)xy`相同 (4认同)

Ben*_*jol 6

Seq.exists

let testseq = seq [ 1; 2; 3; 4 ]
let equalsTwo n = (n = 2)
let containsTwo = Seq.exists equalsTwo testseq
Run Code Online (Sandbox Code Playgroud)


Dan*_*her 5

Set 你的朋友在这里:

let a = set [0;1;2;3]
let b = set [2;3;4;5]
let c = a - b
let d = b - a
let e = Set.intersect a b
let f = a + b
> 
val c : Set<int> = seq [0; 1]
val d : Set<int> = seq [4; 5]
val e : Set<int> = seq [2; 3]
val f : Set<int> = seq [0; 1; 2; 3; ...]
Run Code Online (Sandbox Code Playgroud)

丹尼