我正在阅读The Scheme Programming Language一书。我正在尝试做练习 2.8.7:
使用 map 定义一个过程 transpose,它接受一个对列表并返回一对列表,如下所示。
(转置'((a . 1) (b . 2) (c . 3))) ;;=> ((abc) 1 2 3)
[提示:((abc) 1 2 3) 与 ((abc) . (1 2 3)) 相同。]
我发现这(map list '(a 1) '(b 2) '(c 3))
给了我'((a b c) (1 2 3))
。我想我可以通过写很多样板来解决这个'((a . 1) (b . 2) (c . 3))
问题。但是,我确信这不是练习的重点。(map list '(a 1) '(b 2) '(c 3))
'((a b c) (1 2 3))
((a b c) 1 2 3)
有谁可以帮我离开这里吗?有没有一种明显的方法可以使用我缺少的地图来做到这一点?