zoukankan      html  css  js  c++  java
  • Haskell List相关操作

    一、List中只能存放相同类型的元素。

      ++:将两个List合并成一个List。例,[1,2,3]++[4,5,6],结果是[1,2,3,4,5,6]

        : :将“:”前面的元素添加到“:”后面的List中。新添加的元素在List的头部位置。例,1:[2,3,4,5,6],结果是[1,2,3,4,5,6]。

       !! :取List下标位置的元素。例,[1,2,3,4,5,6]!!0,结果是1。

      elem:判断某个元素是否存在于List当中。例,elem 1 [1,2,3,4,5,6],结果是true。中缀形式,1 `elem` [1,2,3,4,5,6]。

      PS:中缀形式中的 ` 不是单引号,是键盘上“~”键下面的符号。

    二、比较List。

          [3] > [2,1]的结果是true。

      head:取出List的第一个元素。

      tail:取出除List第一个元素外的所有元素。

      last:取出List的最后一个元素。

      init:取出除List最后一个元素外的所有元素。

      length:返回List的长度值。

      null:判断List是否为空。

      reverse:返回一个List的反转List。

      maximum:取List中的最大值。

      minimum:取List中的最小值。

      sum:计算List元素中的和。

      take:取List的前N个元素。例,take 2 [1,2,3,4,5,6],结果是[1,2]。

          drop:取List的后X个元素。例,drop 2 [1,2,3,4,5,6],结果是[3,4,5,6]。

    三、Range相关

      [1..10] 相当于 [1,2,3,4,5,6,7,8,9,10]

      ['a'..'g'] 相当于 ['a','b','c','d','e','f','g']

      [3,6..10] 相当于 [3,6,9]

      cycle:无限重复后面的内容。例,take 3 (cycle [1,2]),结果是[1,2,1]。 

      repeat:无限重复后面的元素。例,take 2 (repeat 1),结果是[1,1]。 

      replicate:重复N次后面的元素。例,replicate 2 [1,2],结果是[[1,2],[1,2]]。

    四、集合的表示

      mod:取余操作。

      odd:判断一个数是否是奇数。

      [x*2|x<-[1..10]] 相当于 [2,4,6,8,10]

      [x|x<-[1..10],odd x,mod x 3 == 0] 相当于 [3,9]

  • 相关阅读:
    java——testNG——工作复习——xml详解
    转义符,re模块,rangdom随机数模块,
    nyoj 814又见拦截导弹
    Soj题目分类
    Xcode 性能优化
    python使用pip安装模块出现ReadTimeoutError: HTTPSConnectionPool的解决方法(pip使用豆瓣源)
    浅谈模拟退火
    43-正则表达式(1)
    命令行上的narrowing(随着输入逐步减少备选项)工具
    有效决策,这么做就对了!
  • 原文地址:https://www.cnblogs.com/wscy/p/4895951.html
Copyright © 2011-2022 走看看