Erlang список вопросов - PullRequest
       19

Erlang список вопросов

3 голосов
/ 27 апреля 2011

У меня есть список с кортежами на Erlang, например:

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

Как я могу получить кортеж из этого списка с максимальным первым элементом из этого кортежа?

Спасибо.

Ответы [ 2 ]

5 голосов
/ 27 апреля 2011

В этом случае lists: max / 1 вернет то, что вы хотите. Чтобы это работало, все кортежи должны иметь одинаковое количество элементов.

3 голосов
/ 27 апреля 2011

Использовать списки: keysort / 2 .

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

Другая тема

edit: Кажется, я быстро прочитал ваши вопросы. Если вам нужен только один кортеж, содержащий максимальное значение, и ваши кортежи имеют одинаковый размер, то Арджан должен быть принятым ответом.

Если вам нужен только один элемент term (), содержащий максимальное значение, и если правило с аналогичными размерами кортежей, указанными Арджаном, неприменимо, я бы выбрал либо lists:foldl/3, либо собственную функцию рекурсии.

Сортировка всего списка не нужна, если вы не хотите, чтобы весь список сортировался. Моя ошибка.

...