例如列表'((1 2 3)(2 3 4)(4 5 6)) 结果(1 2 3 2 3 4 4 5 6)
( define(concatenate list1 list2)
(if (null? list1)
list2
(
(concatenate (cdr list1) (append (car list1) '()) )
)
)
)
我的想法是list1 ='((1 2 3)(2 3 4)(4 5 6)),结果是list2 =(1 2 3 2 3 4 4 5 6)
答案 0 :(得分:0)
我们只需要一个列表参数,因为它已经是列表列表,并且没有必要将第二个参数用作累加器。试试这个:
(define (concatenate lsts)
(apply append lsts))
(concatenate '((1 2 3) (2 3 4) (4 5 6)))
=> '(1 2 3 2 3 4 4 5 6)