Этот вопрос неоднозначен, поскольку на самом деле он не говорит нам, как нужно выполнять выравнивание. Просто из вашего примера ввода / вывода кажется, что вы хотите только сгладить один уровень и игнорировать пустые списки. Это может быть достигнуто с помощью:
1> lists:filter(fun (X) -> X /= [] end, lists:append([[ [], [1,3], [4,5] ]])).
[[1,3],[4,5]]
Но можно представить и другие сглаживания, которые соответствуют этим критериям. Надеюсь, это поможет вам начать!