我想制作一个给定列表和自然数的函数,在列表上添加零,因此列表的长度等于自然数。一种有效的方法是这样做,而不是使每个元素都为零,而是执行应做的事情
(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
使用make-list
生成具有适当数量的0(即,数字与输入列表之间的差)的列表:
make-list