gpt4 book ai didi

scheme - 根据Scheme对列表进行分区

转载 作者:行者123 更新时间:2023-12-02 06:46:05 25 4
gpt4 key购买 nike

我将如何创建一个分区函数,该函数需要一个数字和一个列表来将列表分区为较小的列表列表,其大小由数字给出这样

Partition 3 '(a b c d e f g h) -> '((a b c) (d e f) (g h)) and etc. using take and drop?

最佳答案

我会给你一些提示,这样你就可以自己找到答案。填空:

(define (partition n lst)
(cond (<???> ; if the list is empty
<???>) ; then return the empty list
((< <???> n) ; if the lists' length is less than n
<???>) ; return a list with lst as its only element
(else ; otherwise
(cons ; cons a list with the result of
(<???> lst n) ; grabbing the first n elements of lst with
(<???> n ; the result of advancing the recursion and
(<???> lst n)))))) ; removing the first n elements of lst

显然,您必须按照问题描述中的要求在解决方案中的某个位置使用 takedrop。像这样测试您的解决方案:

(partition 3 '(a b c d e f g h))
=> '((a b c) (d e f) (g h))

(partition 3 '(a b c d e f g h i))
=>'((a b c) (d e f) (g h i))

关于scheme - 根据Scheme对列表进行分区,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15192573/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com