首页 > 解决方案 > 获取元组的最高值?

问题描述

如果我有类似的元组列表[("candy",3), ("icecream",2), ("meat",6)]。如何获得具有最高数字的元组?

否则,收集所有数字的递归函数会有帮助吗?如果是这样,我该怎么办?

标签: haskell

解决方案


使用Data.List.maximumBywithData.Ord.comparing创建比较函数以代替Ord元组的实例。

>>> maximum [("zoo", 1), ("ant", 10)]
("zoo", 1)  -- Because ("zoo", 1) > ("ant", 10), because "zoo" > "ant"
>>> maximumBy (comparing snd) [("zoo", 1), ("ant", 10)]
("ant", 10)  -- Because 10 > 1

推荐阅读