在Scheme中,函数(map fn list0 [list1 .. listN])附带的限制是列表必须有相同数量的元素。来自Python的我错过了Python理解的自由,它们看起来很像上面的map,但是没有这个限制。
我很想实现另一个“map”,它允许不同大小的列表,迭代所有列表的第一个N个元素,其中N是最短列表的长度。
例如,让num是10,lst是(1 2 3)。用我的地图,我希望能写出这样的表达式:
(my-map + (circular-list num) lst)))并得到:
(11 12 13)我比传统的人更容易阅读这篇文章。
(map + (lambda (arg) (+ num arg)) lst)或
(map + (make-list (length lst) num) lst) 两个问题:
map的重要原因?my-map这样的东西是已经存在于计划中还是在SRFIs中?我确实看了一下srfi-42,但这不是我想要的,或者是它,而且它并不明显。发布于 2011-05-21 04:33:27
https://stackoverflow.com/questions/6079560
复制相似问题