循环一个alist并在Emacs Lisp中为每一对执行操作的最佳方式是什么?我想一个宏并不难,我只是想知道这是否构建在某个地方。有没有比下面更优雅的方式?Elisp - 在alist上循环
(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))
我更喜欢这个答案,因为它不使用`cl`。 – kindahero 2011-12-15 02:33:33
@kindahero你意识到循环是一个CL宏吗?这很好。 – 2011-12-15 04:23:34