Есть несколько способов сделать то, что вы хотите, немного в зависимости от того, какое значение вы хотите использовать позже.
Простым решением было бы использование gb_trees.gb_trees - это отсортированная структура, которую вы можете зациклить, используя итератор.
Или, если вы хотите сохранить простоту и иметь список, вы можете использовать orddict (или, возможно, ordsets).
orddict:store(Number, Tag, CalcData)
вставить {Number, Tag} в упорядоченный список.Для получения дополнительной информации см. Документацию для определения.
Чтобы получить наименьшее значение в списке, которое вы можете использовать hd / 1, и получить самые большие списки: last / 1 (не то, чтобы я рекомендовал списки: last, учтите, вы).