You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

F#中List.filter筛选不等于4的正确写法是什么?

正确筛选F#列表中非4元素的写法

嗨,我来帮你搞定这个F#的小问题~你之前尝试的!=和x not 4都不符合F#的语法规则,F#里判断不等于有两种常用的正确方式:

  1. 使用<>运算符(这是F#里标准的不等于运算符)
let x = [1 .. 5] |> List.filter(fun x -> x <> 4)
  1. 用not函数包裹等于判断(not是布尔值取反函数,需要传入完整的布尔表达式)
let x = [1 .. 5] |> List.filter(fun x -> not (x = 4))

运行任意一种写法,都会得到排除了4的列表结果:[1; 2; 3; 5]。

顺便给你解释下为什么之前的写法行不通:

  • F#里没有!=这个运算符,它用<>来表示不等于,和C#这类用!=的语言区分开了
  • not是一个函数,不能直接放在变量和值中间,必须传入一个完整的布尔表达式,所以得写成not (x = 4)而不是x not 4

内容的提问来源于stack exchange,提问作者Tungamirai Mangombe

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 04:34:33