Прежде всего, рассмотрите
(map (lambda (x) (cons x 0)) '(apple banana banana orange peach))
, это даст
((apple . 0) (banana . 0) (banana . 0) (orange . 0) (peach . 0))
, затем вы можете использовать счетчик, чтобы увеличить число.
(let ((counter 0))
(lambda (x)
;; you need to store the result (cons x counter)
;; in a temporary variable using LET here
;; then use SET! to increment counter
;; then return the temp
))
IВам только что дали шаблон, чтобы начать, если у вас есть проблемы с завершением, не стесняйтесь задавать дополнительные вопросы.Надеюсь, идеи понятны.