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]
Haskell List相关操作的更多相关文章
- 从零自学Hadoop(20):HBase数据模型相关操作上
阅读目录 序 介绍 命名空间 表 系列索引 本文版权归mephisto和博客园共有,欢迎转载,但须保留此段声明,并给出原文链接,谢谢合作. 文章是哥(mephisto)写的,SourceLink 序 ...
- 从零自学Hadoop(21):HBase数据模型相关操作下
阅读目录 序 变量 数据模型操作 系列索引 本文版权归mephisto和博客园共有,欢迎转载,但须保留此段声明,并给出原文链接,谢谢合作. 文章是哥(mephisto)写的,SourceLink 序 ...
- 理解CSV文件以及ABAP中的相关操作
在很多ABAP开发中,我们使用CSV文件,有时候,关于CSV文件本身的一些问题使人迷惑.它仅仅是一种被逗号分割的文本文档吗? 让我们先来看看接下来可能要处理的几个相关组件的词汇的语义. Separat ...
- Liunx下的有关于tomcat的相关操作 && Liunx 常用指令
先记录以下liunx下的有关于tomcat的相关操作 查看tomcat进程: ps-ef|grep java (回车) 停止tomcat进程: kill -9 PID (进程号如77447) (回车) ...
- pip的相关操作
>Python中的pip是什么?能够做些什么? pip是Python中的一个进行包管理的东西,能够下载包.安装包.卸载包......一些列操作 >怎么查看pip的相关信息 在控制台输入: ...
- Haskell Tuple相关总结
一.相关操作 zip:将两个List合并成一个元组序对的List. fst:返回元组序对第一个元素. snd:返回元组序对第二个元素. PS:元组序对是元组中只有两个元素的元组. 二.与List的比较 ...
- python操作mysql数据库的相关操作实例
python操作mysql数据库的相关操作实例 # -*- coding: utf-8 -*- #python operate mysql database import MySQLdb #数据库名称 ...
- php对二维数组进行相关操作(排序、转换、去空白等)
php对二维数组进行相关操作(排序.转换.去空白等) 投稿:lijiao 字体:[增加 减小] 类型:转载 时间:2015-11-04 这篇文章主要介绍了php对二维数组进行相关操作,包括php对 ...
- SQL语言和DML相关操作以及相应的运算符
SQL 1.结构化查询语言 2.特点 a.第四代编程语言,更接近自然语言 b必须有数据库系统解释执行 c.对象名,关键字不区分大小写 d.字符串必须要用单引号引起来,不能用双引号 e.每条语句最后用分 ...
随机推荐
- 跨站请求伪造 CSRF / XSRF<二:应用>
防御的方法主要有两种<java示例> 1.检查Referer字段 HTTP头中有一个Referer字段,这个字段用以标明请求来源于哪个地址.在处理敏感数据请求时,通常来说,Referer字 ...
- Mac环境brew安装
curl -L https://get.rvm.io | bash -s stable //RVM安装 source ~/.rvm/scripts/rvm rvm -v //版本检测 rvm list ...
- Android判断GPS是否开启和强制帮用户打开GPS
引子:在我们的应用为用户提供定位服务时,通常想为用户提供精确点的定位服务,这是需要用户配合的.我们必须先检测用户手机的GPS当前是否打开,若没打开则弹出对话框提示.用户若不配合我们也没办法,只能采用基 ...
- springmvc 用注解方式添加事务不生效解决方法
springmvc 事务注册有很多种方法,在此我只mark 用注解方式添加transaction不生效的解决办法. springmvc 注解方法添加事务步骤: 1.在 spring的 root-con ...
- 【转】 XDC介绍
转:http://blog.sina.com.cn/s/blog_693301190100sitz.html XDC是TI公司为嵌入式实时系统可重用软件组件(在XDC里被成为packages,以下成为 ...
- ngui中 代码调用按钮事件(后来改成了按钮绑定键盘..)
ngui中 代码调用按钮事件 好烦人啊这个问题, 我弄完发上来 这个问题解决了一半 发现可以用 按钮绑定来解决这个问题,并且更安全方便快速 直接在按钮上添加一个 key binding 指定按键 搞定 ...
- 了解Android的编译器
了解一下Android的编译器并记录下来: Android在4.4以前是使用Dalvik VM的,通过Just In Time(JIT即时编译)来完成编译工作,在Android4.4提供了一种测试版本 ...
- 里面的div怎么撑开外面的div,让高度自适应
关于容器高度自适应的兼容性问题.1.有些时候,我们希望容器有一个固定高度,但当其中的内容多的时候,又希望高度能够自适应,也即容器在纵向能被撑开,且如果有背景,也能够自适应.在一般情况下,使用min-h ...
- Jmeter压测环境准备
Jmeter性能监控 配置好测试机器上的jmeter环境:http://jmeter-plugins.org/downloads/all/ 网站下载两个东西: JMeterPlugins-Standa ...
- Sprint1(第四天11.17)
Sprint1第一阶段 1.类名:软件工程-第一阶段 2.时间:11.14-11.23 3.选题内容:web版-餐厅到店点餐系统 4.团队博客地址: http://www.cnblogs.com/qu ...