Ich möchte eine Liste überlisten, aber den Elementindex in der Liste verfolgen.Python enumerate() analog in Common Lisp
In Python ich etwas entlang der Linien von tun können:
(mapcar-something (lambda (elt idx) (format nil "Elt ~D: ~S" idx elt))
'(a b c d))
Erwartetes Ergebnis:
("Elt 0: A" "Elt 1: B" "Elt 2: C" "Elt 3: D")
map(lambda (idx, elt): "Elt {0}: {1}".format(idx, elt), enumerate(mylist))
ich es etwas entlang der Linien von zu übersetzen versuchte,
Aber ich kann die mapcar-something Funktion nicht finden, die ich verwenden sollte. Muss ich das selbst implementieren (via Schleife, vielleicht)?
Sie können wickeln Sie es in einem 'let' Block und erfassen ein n Index-Variable aus dem Lambda, dann inkrementieren, dass jedes Mal das Lambda aufgerufen wird. Ich glaube nicht, dass da ein eingebauter ist. – MicroVirus