小编Ser*_*les的帖子

F# - 将列表拆分为奇偶列表的元组(按元素,而不是位置)

示例:split [1;3;2;4;7;9];;
输出:([1;3;7;9], [2;4])

我是F#的新手,我无法理解.
无法使用partition内置功能.

这是我到目前为止:

let rec split xs = 
    match xs with
    | [] -> [], []
    | xs -> xs, []
    | xh::xt -> let odds, evens = split xt
                if (xh % 2) = 0 then xh::odds, xh::evens
                else xh::odds, evens  
Run Code Online (Sandbox Code Playgroud)

固定代码:

let rec split xs = 
    match xs with
    | [] -> [], []
    | xh::xt -> let odds, evens = split xt
                if (xh % 2) = 0 then …
Run Code Online (Sandbox Code Playgroud)

recursion f# split list partition

3
推荐指数
1
解决办法
356
查看次数

标签 统计

f# ×1

list ×1

partition ×1

recursion ×1

split ×1