haskell(23)

2024-05-10 04:48
文章标签 23 haskell

本文主要是介绍haskell(23),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

group将邻接相同的元素组合成列表的一个元素

Prelude Data.List> group [12,12,12,32,12,12,11,12,23]

[[12,12,12],[32],[12,12],[11],[12],[23]]

sort可对列表元素进行排序

Prelude> :m + Data.List

Prelude Data.List> sort [23,55,32,11]

[11,23,32,55]

Prelude Data.List> sort ['a','x','f','b']

"abfx"

Initstails依次对列表中的元素逐元素地提取合成结果列表中的元素,inits从头部取,tails从尾部取。

Prelude Data.List> inits [23,55,32,11]

[[],[23],[23,55],[23,55,32],[23,55,32,11]]

Prelude Data.List> tails [23,55,32,11]

[[23,55,32,11],[55,32,11],[32,11],[11],[]]

Prelude Data.List> 

isInfixOfisSuffixOfisPrefixOf完成子串查找,isInfixOf在目标串的任何位置查找,isSuffixOf查找后缀,isPrefixOf查找前缀。

Prelude Data.List> "wor" `isInfixOf` "hello,world!"

True

Prelude Data.List> "world!" `isSuffixOf` "hello,world!"

True

Prelude Data.List> "hel" `isPrefixOf` "hello,world!"

True

Prelude Data.List> 

elemnotElem在集合中查找有该元素或无该元素。

Prelude Data.List> 23 `elem` [23,55,32,11]

True

Prelude Data.List> 23 `notElem` [23,55,32,11]

False

Prelude Data.List> 231 `notElem` [23,55,32,11]

True

Prelude Data.List> 

Partition将列表中的元素应用于函数中,函数返回True的和函数返回False的列表元素分别做为二元组的第一个元素和第二个元素。

Prelude Data.List> partition odd [83,4,5,6,7,9]

([83,5,7,9],[4,6])

find找到第一个满足函数要求的元素后返回这个元素

Prelude Data.List> find odd [83,4,5,6,7,9] 

Just 83

Prelude Data.List> find odd [8,4,5,6,7,9] 

Just 5

Prelude Data.List> 



本博客所有内容是原创,未经书面许可,严禁任何形式的转载。

http://blog.csdn.net/u010255642


这篇关于haskell(23)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/975478

相关文章

安卓链接正常显示,ios#符被转义%23导致链接访问404

原因分析: url中含有特殊字符 中文未编码 都有可能导致URL转换失败,所以需要对url编码处理  如下: guard let allowUrl = webUrl.addingPercentEncoding(withAllowedCharacters: .urlQueryAllowed) else {return} 后面发现当url中有#号时,会被误伤转义为%23,导致链接无法访问

华为23年笔试题

消息传输 题目描述 在给定的 m x n (1 <= m, n <= 1000) 网格地图 grid 中,分布着一些信号塔,用于区域间通信。 每个单元格可以有以下三种状态:  值 0 代表空地,无法传递信号;  值 1 代表信号塔 A,在收到消息后,信号塔 A 可以在 1ms 后将信号发送给上下左右四个方向的信号塔; 值 2 代表信号塔 B,在收到消息后,信号塔 B 可以在 2ms

【vulhub】thinkphp5 2-rce 5.0.23-rce 5-rce 漏洞复现

2-rec 1.启动环境  cd /.../vulhub/thinkphp/2-rce # cd进入2-rce靶场文件环境下docker-compose up -d # docker-compose启动靶场docker ps -a # 查看开启的靶场信息 2.访问192.168.146.136:8080网页 3.构造payload http

【linux mysql】mysql高版本8.0.23版本密码修改总结

mysql 8.0 版本,由于增加了一些安全策略等限制,所以修改用户密码会稍微麻烦些。下面是针对这个高版本的总结。 一、配置/etc/my.cnf 文件 免密码登录mysql vim /etc/my.cnf# 增加这两行命令skip-grant-tablesdefault-authentication-plugin=mysql_native_password 重启启动mysql se

第23周:使用Word2vec实现文本分类

目录 前言 一、数据预处理 1.1 加载数据 1.2 构建词典 1.3 生成数据批次和迭代器 二、模型构建 2.1 搭建模型 2.2 初始化模型 2.3 定义训练和评估函数 三、训练模型 3.1 拆分数据集并运行模型 3.2 测试指定数据 总结 前言 🍨 本文为[🔗365天深度学习训练营]中的学习记录博客🍖 原作者:[K同学啊] 说在前面 本周任务

Android Studio:Error:(23, 17) Failed to resolve: junit:junit:4.12

在Android Studio中创建项目之后,可能会遇到错误:Error:(23, 17) Failed to resolve: junit:junit:4.12,这是因为项目引用到了Junit单元测试工具。 该错误的解决方法是找到项目中的build.gradle文件,如下: 打开该文件,注释掉或者删除掉junit:junit:4.12的引用,如下:

23. C 语言,%d 和 %i的区别

在 C 语言中,%d 和 %i 都用来打印十进制整数。虽然它们在大多数情况下是可以互换使用的,但还是有一些细微的区别,特别是在解析输入时: %d 和 %i 的区别 打印时的区别: 对于打印整数的操作,%d 和 %i 没有区别。它们都可以用来输出十进制整数。 #include <stdio.h>int main() {int number = 123;printf("Using %%d: %d

【论文分享】MyTEE: Own the Trusted Execution Environment on Embedded Devices 23‘NDSS

目录 AbstractINTRODUCTIONBACKGROUNDARMv8 ArchitectureSecurity statesTrustZone extensionsVirtualization Communication with Peripherals MOTIVATIONATTACK MODEL AND ASSUMPTIONSYSTEM DESIGNOverviewExecu

7/23训练日记

今天的比赛过的题都是暴力过的,三个题过了之后就想b题尽量的在想把区间问题转化为端点问题不然的话总是被数据卡超时,比赛过后查题解的时候看到一个140多行的代码和一个20多行的代码感慨思路的重要。今天看的有递推枚举。枚举也需要有技巧的枚举,就好比,那个费解的开关要看出定住第一行第一行的变法定了就通过下面一行行的变来使上一行达到开关全开的状态(而且第一行顺序确定下面行的按开关顺序也就确定了所以只要枚举第

23合并 K 个升序链表

我嘞个二维数组 有点小夸张了哈 这个题目我最开始看就回想两个有序链表的排序,但是如果这样排,那要排k次,每次排序还有相应时间复杂度,工程量之大,相当恐怖 那么这个时候我们就想起来去用堆 最小堆,非子叶节点小于子叶节点,可以导致根节点是最小的,那么我们只需要把所有数据全部插入最小堆,然后一一删去根节点即可 好几种解法放在下面 第一种用堆 class Solution {public Lis