码迷,mamicode.com
首页 > 其他好文 > 详细

Haskell List相关操作

时间:2015-10-20 21:21:20      阅读:228      评论:0      收藏:0      [点我收藏+]

标签:

一、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]

Haskell List相关操作

标签:

原文地址:http://www.cnblogs.com/wscy/p/4895951.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!