2
我在阅读方案编程语言的书。我试图做练习2.8.7:如何使用地图解压缩?
使用map来定义一个过程,转置,它取对的列表并返回一对列表,如下所示。
(。移调“((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)
。但是,我相信这不是练习的重点。
任何人都可以帮助我吗?有没有一种明显的方式来使用我缺少的地图来做到这一点?
我明白了! '(定义(转置ziped)(cons(地图汽车ziped)(地图cdr ziped)))'。我想这不是最有效的方式,但它可能是预期的。谢谢! – 2012-08-03 03:51:15