haskell(6)
来源:互联网 发布:医疗 教育 gis 数据 编辑:程序博客网 时间:2024/05/17 04:45
本博客所有内容是原创,未经书面许可,严禁任何形式的转载。
http://blog.csdn.net/u010255642
J .删除前n个元素后形成新的列表
Prelude> drop 2 mylist
[33,44,55,66,7]
Prelude> drop 3 mylist
[44,55,66,7]
Prelude>
K.取列表中的最大值和最小值
Prelude> maximum mylist
66
Prelude> minimum mylist
1
L.求列表元素之和以及乘积
Prelude> sum mylist
228
Prelude> product mylist
811697040
Prelude>
3)列表元素自动生成:系列(ranges)
我们可以使用系列ranges来自动生成规则的列表元素,用“..”指示省略的元素
Prelude> let mylist1=[1..15]
Prelude> mylist1
[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]
Prelude> let mylist2=[8..15]
Prelude> mylist2
[8,9,10,11,12,13,14,15]
Prelude> let mylist3=['a'..'i']
Prelude> mylist3
"abcdefghi"
也可使用更智能的方式,生成等差数列,haskell会自动生成“..”省略的元素。
Prelude> let mylist2=[2,4..20]
Prelude> mylist2
[2,4,6,8,10,12,14,16,18,20]
Prelude>
Prelude> let mylist3=['a','c'..'i']
Prelude> mylist3
"acegi"
Prelude>
3)元素循环
A.生成无限循环
Prelude> mylist
[1,22,33,44,55,66,7]
可以使用cycle函数
Prelude> cycle mylist
Prelude> mylist
[1,22,33,44,55,66,7]
Prelude>
[1,22,33,44,55,66,7,1,22,33,44,55,66,7,1,22,33,44,.........................
或者使用repeat函数
Prelude> repeat 2
[2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,..................
B.循环n次
从无限循环中取(n*列表长度)个元素即可
Prelude> take 6 (cycle [1,2,3])
[1,2,3,1,2,3]
Prelude> take (3*(length mylist)) (cycle mylist)
[1,22,33,44,55,66,7,1,22,33,44,55,66,7,1,22,33,44,55,66,7]
Prelude>
C.将参数整体做为独立元素重复n次,生成新的列表
Prelude> replicate 3 22
[22,22,22]
Prelude> replicate 3 mylist
[[1,22,33,44,55,66,7],[1,22,33,44,55,66,7],[1,22,33,44,55,66,7]]
Prelude> replicate 2 mylist
[[1,22,33,44,55,66,7],[1,22,33,44,55,66,7]]
Prelude>
- haskell(6)
- Haskell笔记(6)
- Haskell
- Haskell
- Haskell趣学指南4-6
- Haskell语言学习笔记(6)Monad
- 「学习总结-Haskell-6」Haskell 重要编程模式——Functor,Applicative,Monad
- haskell学习笔记(6)-Parameterised types与Recursive types
- Haskell简介
- haskell笔记
- Haskell 入门
- 尝试haskell
- [Haskell] ex1
- Hi Haskell
- [Haskell] ex3
- 初识haskell
- Haskell教程
- haskell学习心得
- XHTML重构(二)
- CSS ID选择器
- CSS 类选择器
- CSS背景
- CSS文本
- haskell(6)
- 硬盘MBR,DBR,等数据结构的详细参数
- MFC中socket编程时recv设置超时属性后,如果超时返回值是什么?
- 函数指针和操作符重载学习笔记
- nyoj 376 小强的Linux
- 硬盘主引导记录(MBR)及其结构
- Linux下的多线程编程
- 即时通讯软件源码大同小异。
- MMU分析