将单个元素添加到列表中直到特定点

问题描述 投票:0回答:1

我想制作一个给定列表和自然数的函数,在列表上添加零,因此列表的长度等于自然数。一种有效的方法是这样做,而不是使每个元素都为零,而是执行应做的事情

(define (zero-list loz alon)
  (cond
    [(empty? loz) empty]
    [(= (-(length loz) 1) alon) (cons 0 loz)]
    [else (cons 0 (zero-list (rest loz)))]))

示例:(zero-list (list 1 2 3) 5)) -> (list 0 0)因此(长度(清单1 2 3))+(长度(清单0 0))= 5

list recursion racket
1个回答
0
投票

使用make-list生成具有适当数量的0(即,数字与输入列表之间的差)的列表:

make-list
© www.soinside.com 2019 - 2024. All rights reserved.