当我尝试通过第二个元素订购列表列表时,我很难过,就像这样
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]
.
我想在条件为真时从列表中选择一些列表,如下所示:
我已经建立了一个数据结构 - > 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"]]
任何帮助都将很高兴.
提前致谢.
假设我有一个像这样的列表:
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)
但我不知道如何转换列表中的每个第二个成员.