in Python, si potrebbe fare qualcosa di simileestratto/slice/riordina gli elenchi in (emacs) lisp?
i = (0, 3, 2)
x = [x+1 for x in range(0,5)]
operator.itemgetter(*i)(x)
per ottenere (1, 4, 3)
. In (emacs) Lisp, ho scritto questa funzione chiamata estratto che fa qualcosa di simile,
(defun extract (elems seq)
(mapcar (lambda (x) (nth x seq)) elems))
(extract '(0 3 2) (number-sequence 1 5))
ma mi sento come ci dovrebbe essere qualcosa di costruito nel? Tutto quello che so è first, last, rest, nth, car, cdr
... Qual è la strada da percorrere? ~ Grazie in anticipo ~
Non lo sapevo. Quindi, per questo problema, devo decidere se il sovraccarico di creazione di un vettore vale il sovraccarico aggiuntivo dell'accesso a tempo costante. – hatmatrix