LISP 语言(或特别是 Racket)中是否有任何内置函数可以像 map 一样工作,但将元素的索引作为参数之一传递给映射函数?
此类函数的示例是:
(define map-index (lambda (func list)
(map func list (build-list (length list) (lambda (i) i)))))
;usage:
> (map-index cons '(a b c d))
;output:
'((a . 0) (b . 1) (c . 2) (d . 3))
Run Code Online (Sandbox Code Playgroud)
显然,这不是一个非常有效的实现,并且不支持多个列表作为参数,就像常规映射一样。