作业帮 > 数学 > 作业

Haskell 判断一个list中元素是否都相同

来源:学生作业帮 编辑:作业帮 分类:数学作业 时间:2024/05/16 22:57:36
Haskell 判断一个list中元素是否都相同
有没有Prelude里的函数能够判断一个list中元素是否都相同,或者有什么很简单的办法
如果 两个列表的每个索引处的元素都相同,才算相同的话,可以直接用 ==
[1,2,3] == [1,2,3] 是True
再问: 我的问题是判断“一个”list中的元素是否都相同,而不是两个list。 for example: [3,3,3] should return True, while [1,2,3] should return False.
再答: Prelude中应该没有专门的函数来判断list中元素是否都相同~
再问: 那有什么简单的方法来实现呢?不用递归
再答: 不知道你说的不用递归是完全不用吗? allsame :: (Eq a) => [a] -> Bool allsame [] = True --空白列表算True还是False? allsame (x:xs) = all (x ==) xs 上面这个虽然本身没有递归,但是all函数本身是由and和map函数组成,这两个函数本身也用了递归