环境准备

在命令行输入,进入交互式环境

> stack ghci

配置开发环境请参考安装教程

生成列表

生成列表的方法有以下几种:

  1. 和其他语言一样,将数值或变量包装进列表
  2. 利用[a_0 .. a_n] 方法生成序列
  3. 利用[a_0,a_1 .. a_n]方法生成等差数列
  4. 利用a_0:a_1:a_2:[] 的方法生成数组
  5. 利用a_0:a_1:a_2:[b_1,b_2,b_3]的方法,将新数值加入到已有数组中。
ghci>  --Haskell语言的注释写在两个减号后面ghci> [1,2,3] --手动生成数组
[1,2,3]ghci> [1..9]  --生成一个整数序列
[1,2,3,4,5,6,7,8,9]ghci> [1,4..10] --生成固定间隔的整数序列
[1,4,7,10]ghci>[1,2.5..20]--生成固定间隔的浮点数序列
[1.0,2.5,4.0,5.5,7.0,8.5,10.0,11.5,13.0,14.5,16.0,17.5,19.0,20.5]ghci> 1:2:3:[] --冒号包装
[1,2,3]ghci> a=[1,2..10] --对变量赋值
ghci> a
[1,2,3,4,5,6,7,8,9,10]

字符串

单引号表示字符,而双引号表示字符串,字符串具有和数组类似的性质。

GHCi> ['h','e','l','l','o']
"hello"GHCi> 'h':'e':'l':'l':'o':[]
"hello"GHCi> 'h':"ello"
"hello"GHCi> "h":"ello" --把字符串当作字符处理会报错
error

列表拼接

列表连接

使用++ 符号可以将两个列表展开并连接,而使用a:b:[c] 方法则

ghci> a
[1,2,3,4]
ghci> b
[0.0,0.5,1.0,1.5,2.0,2.5,3.0]
ghci> a:bghci> a++b
[1.0,2.0,3.0,4.0,0.0,0.5,1.0,1.5,2.0,2.5,3.0]ghci> a:b:[]
[[1.0,2.0,3.0,4.0],[0.0,0.5,1.0,1.5,2.0,2.5,3.0]]ghci> [1,2,3]:[4,5,6]:[]
[[1,2,3],[4,5,6]]ghci> "Hello"++" World"++"!"
"Hello World!"ghci> 1:2:3:[]
[1,2,3]

数组索引和切片

索引方法

  • !!操作符
  • (!!)函数
GHCi> [1,2,3] !! 0
1GHCi> "puppies" !! 4
'i'GHCi> (!!) [1,2,3] 0 -- 取第几位的元素

头尾函数

在head即取列表的头,tail即列表去头之后剩余的部分。

ghci> head [1,2,3,4]
1
ghci> tail [1,2,3,4]
[2,3,4]

切片函数

  • take 函数
  • takeLast 函数
  • subseq 函数
  • dorp函数
GHCi> take 5 [2,4..100] --取前几个元素
[2,4,6,8,10]
GHCi> take 3 "wonderful"
"won"
GHCi> take 1000000 [1]
[1]GHCi> takeLast 10 [1..100] --取后几个元素
[91,92,93,94,95,96,97,98,99,100]GHCi> subseq 2 5 [1 .. 10] --切片
[3,4,5]
GHCi> subseq 2 7 "a puppy"
"puppy"GHCi> drop 2 [1,2,3,4,5]
[3,4,5]
GHCi> drop 5 "very awesome"
"awesome"

列表操作

  • length :求长度
  • reverse:翻转
  • elem:判断元素是否属于列表
  • zip:结合两个列表中的元素
GHCi> zip [1,2,3] [2,4,6]
[(1,2),(2,4),(3,6)]
GHCi> zip "dog" "rabbit"
[('d','r'),('o','a'),('g','b')]
GHCi> zip ['a' .. 'f'] [1 .. ]
[('a',1),('b',2),('c',3),('d',4),('e',5),('f',6)]

Haskell列表操作相关推荐

  1. python列表操作:追加元素到列表的代码

    将做工程过程中常用的内容做个收藏,如下的内容是关于python列表操作:追加元素到列表的内容. scores = ["1","2","3"] ...

  2. 轻量函数式 JavaScript:八、列表操作

    你在前一章闭包/对象的兔子洞中玩儿的开心吗?欢迎回来! 如果你能做很赞的事情,那就反复做. 我们在本书先前的部分已经看到了对一些工具的简要引用,现在我们要非常仔细地看看它们,它们是 map(..).f ...

  3. python编程实例详解-Python编程之列表操作实例详解【创建、使用、更新、删除】...

    这篇文章主要介绍了Python编程之列表操作,结合实例形式分析了Python列表的创建.使用.更新.删除等实现方法与相关操作技巧,需要的朋友可以参考下 #coding=utf8 ''''' 列表类型也 ...

  4. Erlang列表操作里面的变量绑定规则

    2019独角兽企业重金招聘Python工程师标准>>> 原文如下: The scope rules for variables which occur in list compreh ...

  5. Python学习(四)列表与列表操作

    读取列表 列表:由一系列按特定顺序排列的元素组合.Python中使用"[]"表示列表 bicycles = ['trek','cannondale','redline','spec ...

  6. python列表操作函数大全_Python列表操作函数

    列表可以进行多个数据的存储,同时python中的列表设计非常到位,它可以实现内容动态扩充,可以进行后期数据的删除,这些就需要通过Python提供的列表操作函数来实现了. 对于Python语言而言,开发 ...

  7. 【Python基础】零基础学习Python列表操作

    作者:来自读者投稿 整理:Lemon 出品:Python数据之道 " 「Python数据之道」导读:本文来自读者投稿,Python数据之道早些时候也发过 Python 列表相关的文章,可以前 ...

  8. 获取用户列表为空_Python中最常见的10个列表操作

    列表是Python中使用最多的一种数据结果,如何高效操作列表是提高代码运行效率的关键,这篇文章列出了10个常用的列表操作,希望对你有帮助. 1.迭代列表时如何访问列表下标索引 普通版: 优雅版: en ...

  9. 开发基础(字符编码、列表操作)

    一.字符编码 计算器所认识的编码都是二进制编码 二进制与十进制转换 计算机最开始使用的编码是美国的 ASCll编码 计算机容量单位 字符编码 python2.x 默认编码使用的是ASCll pytho ...

最新文章

  1. 主从同步出现一下错误:Slave_IO_Running: Connecting
  2. Tree Reconstruction UVA - 10410
  3. PAT (Basic Level) Practice (中文)1023 组个最小数 (20 分) (排序)
  4. node --- http数据上传
  5. 为某人命名以重新连接到您的服务器
  6. C语言: ---Linux下ulimit是什么鬼
  7. moodle3.7中文语言包
  8. html css周志,【嘉兴东臣php】HTML+CSS+JS周总结
  9. extjs6入门:用sencha cmd搭建简单的extjs6项目
  10. legend2---开发日志4(常用的链接传值方式有哪些)
  11. 神经网络与深度学习第1章:绪论 阅读提问
  12. 《阿里巴巴JAVA开发手册》超过三张表禁止join
  13. 获取窗口 history数量_带你走进JavaScript世界系列——history 对象
  14. 精致生活品味相伴,Barsetto百胜图BAC025B胶囊咖啡机测评
  15. 用python画爱心写一句话_python中用turtle画爱心表白
  16. Vue中使用高德地图
  17. 网络协议篇之SNMP协议(二)—— 管理信息库MIB及OID
  18. python列表操作计算列表长度并输出,python列表 (list)
  19. 支付宝支付异步回调的一些问题
  20. 雨 霖 铃 【鉴赏】

热门文章

  1. apple耳机与nokia耳机内部电路
  2. 知识付费项目,无本生意,月入1万+,最适合小白操作的项目
  3. NanOlogy™发布吸入NanoPac治疗肺癌的阳性临床前数据
  4. 抖音点赞最多的标题_抖音标题怎么写吸引人点赞多(5个细节需要注意)
  5. 【并行算法】考试样卷
  6. 手写C语言之分支循环语句-语法详细版(06)
  7. abas ERP – ERP行业中的“隐藏冠军”
  8. 安装cnpm淘宝NPM镜像
  9. Docker容器生成新镜像、打包镜像、载入镜像
  10. Chapter 14: Overloaded Operations And Conversions