【问题标题】:Does F# has a function to tell if a list contains a specific value? [duplicate]F# 是否具有判断列表是否包含特定值的功能? [复制]
【发布时间】:2016-05-10 21:45:29
【问题描述】:

Haskell 有“elem”谓词来表示:

Prelude> 5 `elem` [2,4..10]
False

在 F# 中,如何方便地判断一个值是在列表、数组、seq、map 还是字典中?

【问题讨论】:

    标签: f# contain


    【解决方案1】:

    在 F# 中是

    List.contains <element> <list>
    

    例子:

    List.contains 5 [2..2..10]
    

    -->

    val it : bool = false
    

    contains 也为其他容器类型定义。

    【讨论】:

      【解决方案2】:

      你可以使用:

      List.exists ((=) 5) [1..5]
      

      或者按照其他答案中的建议,如果您拥有最新的 F# 版本,请直接 List.contains

      Seq 也可以使用相同的功能。

      【讨论】:

      • 也可用于Array。还值得一提的是,如果您使用的是比 4.0 更旧的 F# 版本,您可以改用 Linq 扩展方法:例如[1..5].Contains(5)
      猜你喜欢
      • 2012-05-17
      • 2011-03-01
      • 2013-02-10
      • 2012-03-06
      • 1970-01-01
      • 2014-10-10
      • 1970-01-01
      • 2012-10-07
      相关资源
      最近更新 更多