我需要幫助完成一個解壓縮列表並返回兩個列表的列表的解壓縮函數。我要的是如下結果...針對多個列表的方案遞歸解壓縮函數
(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