如何使用折叠权限在Scheme中映射两个列表?
我正在寻找一种只使用foldr映射两个不同列表项的方法如何使用折叠权限在Scheme中映射两个列表?,scheme,racket,Scheme,Racket,我正在寻找一种只使用foldr映射两个不同列表项的方法 (map-Using-FoldR '( 1 2 3 4) '( w x y z)) 应该回来 '((1 w) (2 x) (3 y) (4 z)) 或者换句话说,使用foldr执行“映射”命令 可能吗? 谢谢 基本上,您希望在foldr方面实现zip过程: (define (zip lst1 lst2) (foldr (lambda (e1 e2 acc) (cons (list e1 e2) acc)) '()
(map-Using-FoldR '( 1 2 3 4) '( w x y z))
应该回来
'((1 w) (2 x) (3 y) (4 z))
或者换句话说,使用foldr执行“映射”命令
可能吗?
谢谢 基本上,您希望在
foldr
方面实现zip
过程:
(define (zip lst1 lst2)
(foldr (lambda (e1 e2 acc) (cons (list e1 e2) acc))
'()
lst1
lst2))
例如:
(zip '(1 2 3 4) '(w x y z))
=> '((1 w) (2 x) (3 y) (4 z))
基本上,您希望按照
foldr
实现zip
过程:
(define (zip lst1 lst2)
(foldr (lambda (e1 e2 acc) (cons (list e1 e2) acc))
'()
lst1
lst2))
例如:
(zip '(1 2 3 4) '(w x y z))
=> '((1 w) (2 x) (3 y) (4 z))
@user1322801这篇文章回答了你的问题吗?我能改进一下吗?如果一切正常,那么请不要忘记,只需单击左侧的复选标记;)@user1322801这篇文章回答了你的问题吗?我能改进一下吗?如果一切正常,那么请不要忘记,只需单击左侧的复选标记;)