2011-05-29 40 views
4

我的元組下面的列表:爲了通過列表中的'一元組的snd`列表:

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

,但想通過數組的snd元素order在列表中的元組。這樣一來,我得到類似的答案:

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

(即列表是按每個元組的第二個(snd)下令

+1

家庭作業?標記它! – augustss 2011-05-29 22:57:44

回答

10
sortBy (comparing snd) 

其中sortByListcomparingData.Ord

5

作爲替代jleedev的回答是:

sortBy (compare `on` snd) 

其中sortByData.ListonData.Function

IMO此配方略好,因爲compare只是Ord的標準分類方法,而oncomparing的更普遍有用的功能。但其中沒有太多內容。