小编sep*_*eph的帖子

按秒元素对列表列表进行排序

当我尝试通过第二个元素订购列表列表时,我很难过,就像这样

list = [[_,B,_,_,_],[_,A,_,_,_],[_,C,_,_,_]]
Run Code Online (Sandbox Code Playgroud)

进入这个:

list = [[_,A,_,_,_],[_,B,_,_,_],[_,C,_,_,_]]
Run Code Online (Sandbox Code Playgroud)

我试过了:

sortBy compare $ [([1,2]!!1),([2,3]!!1)]
Run Code Online (Sandbox Code Playgroud)

但它会过滤秒元素并将其排序[2,3].

sorting haskell compare list

5
推荐指数
1
解决办法
354
查看次数

Haskell:当条件为真时从列表中选择列表

我想在条件为真时从列表中选择一些列表,如下所示:

我已经建立了一个数据结构 - > data File = File {name :: String, size :: Integer, comment :: String} deriving Show

我已经创建了一个包含以下结构的所有文件的库:

files = [["name1",size1,"coment1"],["name2",size2,"coment2"],["name3",size3,"coment3"],...]

现在我需要的是一个函数,它选择我所有的大小例如> = 500的列表,类似于

list = select ((>=500.size) files)

所以,如果我有:

files = [["asd",345,"coment1"],["fgh",678,"coment2"],["hjk",123,"coment3"],...]

我会得到:

list = [["fgh",678,"coment2"]]

任何帮助都将很高兴.

提前致谢.

select haskell list

1
推荐指数
1
解决办法
1183
查看次数

haskell:将列表列表中的一个成员从char转换为int

假设我有一个像这样的列表:

list= [["a","123","b"],["h","435","t"],["w","234","j"]]
Run Code Online (Sandbox Code Playgroud)

我需要的是将该列表列表中的每个第二个成员转换为一个,Integer因为它将在此之后用作大小指示符,因此我可以按大小对列表进行排序.

我想出了一个转换功能:

charToInt c = ord (chr c)
Run Code Online (Sandbox Code Playgroud)

但我不知道如何转换列表中的每个第二个成员.

int haskell list char

0
推荐指数
1
解决办法
1006
查看次数

标签 统计

haskell ×3

list ×3

char ×1

compare ×1

int ×1

select ×1

sorting ×1