Я хотел бы создать функцию, которая принимает список и возвращает два списка: первый содержит каждый нечетный элемент, а второй содержит каждый четный элемент.
Например, если задано [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 [] []