我需要帮助完成一个解压缩列表并返回两个列表的列表的解压缩函数。我要的是如下结果...针对多个列表的方案递归解压缩函数
(unzip '((a b) (1 2)))
'((a 1) (b 2))
(unzip '((a 1) (b 2) (c 3)))
'((a b c) (1 2 3))
(unzip '(unzip '()))
'(()())
我可以让我的代码为空的情况下,用含两份名单列表一起工作,但我有一个很难搞清楚如何使它递归并为超过2个列表工作,如第二个例子。
(define (unzip l)
(if (null? l)
'(()())
(map list (car l) (car (cdr l)))))
这对于空列表或两个列表可以正常工作,但我很难设置递归部分以使用三个或更多列表。
好吧,我是很接近。我知道我想使用地图列表,但只是有点关闭。感谢您的帮助。 – Yoink