配对 2 列表方案
Pairing 2 lists Scheme
SCHEME/Racket/R5RS
正在尝试创建一个将 2 个相同大小的列表配对的递归过程。只是无法正确进行递归调用。
这就是我所拥有的,我被卡住了。
(define (pairs list1 list2)
(if (or (null? list1) (null? list2))
'()
(cons (car list1) (car list2))
))
测试用例:
(对'(1 2 3)'(a b c))
期望的输出:((1。a)(2。b)(3。c))
当前输出:(1 . a)
你只需要cons
当前结果到过程的递归调用,就是这样!
(define (pairs list1 list2)
(if (or (null? list1) (null? list2))
'()
(cons (cons (car list1) (car list2))
(pairs (cdr list1) (cdr list2)))))
这也是一个可以接受的解决方案吗?
(define pairs
(lambda (x y)
(map cons x y)))
SCHEME/Racket/R5RS
正在尝试创建一个将 2 个相同大小的列表配对的递归过程。只是无法正确进行递归调用。 这就是我所拥有的,我被卡住了。
(define (pairs list1 list2)
(if (or (null? list1) (null? list2))
'()
(cons (car list1) (car list2))
))
测试用例: (对'(1 2 3)'(a b c)) 期望的输出:((1。a)(2。b)(3。c)) 当前输出:(1 . a)
你只需要cons
当前结果到过程的递归调用,就是这样!
(define (pairs list1 list2)
(if (or (null? list1) (null? list2))
'()
(cons (cons (car list1) (car list2))
(pairs (cdr list1) (cdr list2)))))
这也是一个可以接受的解决方案吗?
(define pairs
(lambda (x y)
(map cons x y)))