Elisp - Цикл по списку

Как лучше всего перебрать список и что-то сделать с каждой парой в Emacs Lisp? Я полагаю, макрос не составит труда, мне просто интересно, встроено ли оно где-нибудь. Есть ли более элегантный способ, чем ниже?

(setq my-list '((a . 1)
                (b . 2)
                (c . 3)))

(loop for key in (mapcar 'car my-list)
      for value in (mapcar 'cdr my-list)
      collect (cons value key))

;; Returns this
((1 . a)
 (2 . b)
 (3 . c))
20
задан Joe 14 December 2011 в 21:00
поделиться