我想对一个列表进行映射,但在列表中要跟踪元素索引。
在Python中,我可以这样做:
map(lambda (idx, elt): "Elt {0}: {1}".format(idx, elt), enumerate(mylist))
我正在尝试将其翻译为以下内容:
我正在尝试将其翻译为以下内容:
(mapcar-something (lambda (elt idx) (format nil "Elt ~D: ~S" idx elt))
'(a b c d))
预期结果:
("Elt 0: A" "Elt 1: B" "Elt 2: C" "Elt 3: D")
但是我找不到我应该使用的mapcar-something函数。我需要自己实现吗(也许通过loop)?
let
块中,并从 lambda 中捕获一个索引变量,然后每次调用 lambda 时递增它。我不认为有内置的方法。 - MicroVirus