通过该列表中元组的`snd`命令列表:

mac*_*ian 4 haskell list

我有以下元组列表:

[("a",6),("b",1),("c",2),("d",4),("e",1),("f",1),("g",5),("h",3),("i",1),("j",2)]
Run Code Online (Sandbox Code Playgroud)

但是想order通过元组snd元素列表中的元组.这样,我得到一个类似的回答:

[("b",1),("e",1),("f",1),("i",1),("c",2),("j",2),("h",3),("d",4),("g",5),("a",6)]
Run Code Online (Sandbox Code Playgroud)

(即列表按snd每个元组的第二个()排序.

Jos*_*Lee 10

sortBy (comparing snd)
Run Code Online (Sandbox Code Playgroud)

这里sortByListcomparingData.Ord.


GS *_*ica 5

作为jleedev答案的替代方案:

sortBy (compare `on` snd)
Run Code Online (Sandbox Code Playgroud)

这里sortByData.ListonData.Function.

IMO这个公式稍微好一点,因为compare它只是标准的类方法Ord,并且on是一个更普遍有用的函数comparing.但其中并不多.