gpt4 book ai didi

list - 按第二个元组元素对元组列表进行排序

转载 作者:行者123 更新时间:2023-12-02 17:59:03 25 4
gpt4 key购买 nike

Possible Duplicate:
Sort a list of tuples by their second elements

嘿,我有一个看起来像这样的元组列表

[("x", [1,2,3]), ("y", [1,2]), ("z", [1,2,3,4])]

我想根据整数列表的长度(元组中的第二个元素)按升序对列表进行排序,但是我的 haskell 充其量很差,我无法找到一种方法来做到这一点。

最佳答案

大多数排序问题都可以用 sortBy ::(a -> a -> Ordering) -> [a] -> [a] 来解决功能。因此,任务是生成排序函数,该函数根据元组第二个元素的长度比较两个元素。 compare `on` (length . snd)::(a1, [a]) -> (a1, [a]) -> Ordering 是我们实际需要的。

eblo> sortBy (compare `on` (length . snd)) [("x", [1,2,3]), ("y", [1,2]), ("z", [1,2,3,4])]
[("y",[1,2]),("x",[1,2,3]),("z",[1,2,3,4])]

关于list - 按第二个元组元素对元组列表进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9404039/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com