en Python, que podría hacer algo comolistas de extraer/cortar/reordenar en (emacs) lisp?
i = (0, 3, 2)
x = [x+1 for x in range(0,5)]
operator.itemgetter(*i)(x)
para obtener (1, 4, 3)
. En (emacs) Lisp, que escribió esta función se llama extracto que hace algo similar,
(defun extract (elems seq)
(mapcar (lambda (x) (nth x seq)) elems))
(extract '(0 3 2) (number-sequence 1 5))
pero siento que no debería ser algo construido en? Todo lo que sé es first, last, rest, nth, car, cdr
... ¿Cuál es el camino a seguir? ~ Gracias de antemano ~
No lo sabía. Entonces, para este problema, tengo que decidir si la sobrecarga de crear un vector vale la sobrecarga adicional de acceso de tiempo constante. – hatmatrix