Scheme 方案中的一个列表到两个列表

Scheme 方案中的一个列表到两个列表,scheme,Scheme,我有一个列表((x1)(y2)(z3)),我想做两个单独的列表:(xyz) (1 2 3) 我尝试使用递归调用,使用car和cdr,但都不起作用。有一个简单的方法吗? 谢谢。使用ls作为列表:(地图车ls)和(地图车(地图cdr ls))cdr返回列表的尾部,这是一个列表(假设输入是一个列表,而不是cons单元格)。您可能想改用cadr(简称(car(cdr foo)))。你可以做: (map car lst) ; '(x y z) (map cadr lst) ; '(1 2 3) (ma

我有一个列表
((x1)(y2)(z3))
,我想做两个单独的列表:
(xyz)
(1 2 3)

我尝试使用递归调用,使用car和cdr,但都不起作用。有一个简单的方法吗?
谢谢。

使用ls作为列表:(地图车ls)和(地图车(地图cdr ls))

cdr
返回列表的尾部,这是一个列表(假设输入是一个列表,而不是cons单元格)。您可能想改用
cadr
(简称
(car(cdr foo))
)。你可以做:

(map car lst)  ; '(x y z)
(map cadr lst) ; '(1 2 3)
map
将调用将给定函数应用于列表中的每个项目)


或者使用srfi-1中的
unzip2

最好发布您尝试过的代码,这样我们可以更好地了解出了什么问题。
(apply map list lst) ; returns ((x y z) (1 2 3))