Erlang列表问题

3

我有一个包含元组的Erlang列表,例如:

[{1, "AAA"}, {2, "AAA"}, {3, "AAAAAAAA"}]

我该如何从这个元组列表中获取第一个元素最大的元组?谢谢。
2个回答

5
在这种情况下,lists:max/1 将返回您想要的结果。为了使其工作,所有元组必须具有相同数量的元素。

3

使用lists:keysort/2函数。

1> lists:keysort(1, [{1, "AAA"}, {2, "AAA"}, {3, "AAAAAAAA"}]).

另一个线程

编辑:看起来我读你的问题太快了。如果你只想要包含最大值的一个元组,并且你的元组大小相同,那么Arjan应该是被接受的答案。

如果你只想要包含最大值的一个term()元素,并且如果Arjan所说的类似元组大小的规则不适用,则可以使用lists:foldl/3或自己的递归函数。

除非你想要整个列表排序,否则排序整个列表是不必要的。我的错误。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接