extract/slice/reorder lists in (emacs) lisp?
Posted
by Stephen
on Stack Overflow
See other posts from Stack Overflow
or by Stephen
Published on 2010-05-25T00:26:15Z
Indexed on
2010/05/25
0:31 UTC
Read the original article
Hit count: 253
lisp
|emacs-lisp
In python, you might do something like
i = (0, 3, 2)
x = [x+1 for x in range(0,5)]
operator.itemgetter(*i)(x)
to get (1, 4, 3)
.
In (emacs) lisp, I wrote this function called extract which does something similar,
(defun extract (elems seq)
(mapcar (lambda (x) (nth x seq)) elems))
(extract '(0 3 2) (number-sequence 1 5))
but I feel like there should be something built in? All I know is first, last, rest, nth, car, cdr
... What's the way to go? ~ Thanks in advance ~
© Stack Overflow or respective owner