Haskell排序子列表

Haskell排序子列表,haskell,Haskell,我有一个包含一些子列表的列表,我需要按长度排序 例如: [[1,3,4,9],[2,4],[5,4,7]]将变成[[2,4],[5,4,7],[1,3,4,9]。您可以使用长度函数生成自定义比较函数,使用内置函数对列表进行排序: 导入数据。列表 导入数据.Ord x::[[Int]] x=按比较长度排序[[1,3,4,9],[2,4],[5,4,7]] -x==[[2,4],[5,4,7],[1,3,4,9]] 可以利用对元素调用函数的结果对列表中的项目进行排序,例如: Prelude>

我有一个包含一些子列表的列表,我需要按长度排序

例如: [[1,3,4,9],[2,4],[5,4,7]]将变成[[2,4],[5,4,7],[1,3,4,9]。

您可以使用长度函数生成自定义比较函数,使用内置函数对列表进行排序:

导入数据。列表 导入数据.Ord x::[[Int]] x=按比较长度排序[[1,3,4,9],[2,4],[5,4,7]] -x==[[2,4],[5,4,7],[1,3,4,9]] 可以利用对元素调用函数的结果对列表中的项目进行排序,例如:

Prelude> import Data.List(sortOn)
Prelude Data.List> sortOn length [[1,3,4,9],[2,4],[5,4,7]]
[[2,4],[5,4,7],[1,3,4,9]]

你尝试了什么,什么不起作用?不要以使现有答案无效的方式改变你的问题。改为问一个新问题。