use*_*840 11 sorting haskell tuples
我想按照第二个元素对元组列表进行排序.
输入示例:
[("Bob",3),("Terry",1)]
Run Code Online (Sandbox Code Playgroud)
示例输出:
[("Terry",1)("Bob",3)]
Run Code Online (Sandbox Code Playgroud)
Dan*_*ons 15
另一个很酷的技巧是使用onData.Function:
import Data.Function (on)
import Data.List (sortBy)
sortBy (compare `on` snd) [...]
Run Code Online (Sandbox Code Playgroud)
没有太大的不同,comparing但不时是一个很好的伎俩.
ehi*_*ird 13
sortBy :: (a -> a -> Ordering) -> [a] -> [a]
comparing :: (Ord b) => (a -> b) -> a -> a -> Ordering
Run Code Online (Sandbox Code Playgroud)
在这种情况下,我们想要通过第二个元素进行比较.您可以使用comparing snd获取可以通过第二个元素比较两个元组的函数.