Я хотел бы создать функцию, которая принимает список и возвращает два списка: первый содержит каждый нечетный элемент, а второй содержит каждый четный элемент.
Например, для [1; 2; 4; 6; 7; 9]
я хотел бы вернуть [[1; 4; 7]; [2; 6; 9]]
.
Я написал это до сих пор и не знаю, как развиваться.
let splitList list =
let rec splitOdd oList list1 list2 =
match oList with
| [] -> []
| head :: tail -> splitEven tail (list1::head) list2
and splitEven oList list1 list2 =
match oList with
| [] -> []
| head :: tail -> splitOdd tail list1 (list2::head)
splitOdd list [] []