Tengo dos vectores [apple orange]y [5 10]. ¿Cómo construyo una lista de asociación a ((apple 5) (orange 10))partir de ellos?
Tengo dos vectores [apple orange]y [5 10]. ¿Cómo construyo una lista de asociación a ((apple 5) (orange 10))partir de ellos?
Respuestas:
Puedes usar cl-pairlis:
(require 'cl-lib)
(cl-pairlis '(apple orange) '(5 10))
;; =>
;; ((apple . 5) (orange . 10))
También funciona para vectores:
(cl-pairlis [apple orange] [5 10])
;; =>
;; ((apple . 5) (orange . 10))
(La clbiblioteca define el alias más corto pairlispara cl-pairlis, pero esto está en desuso en las versiones más nuevas de Emacs).
(cl-mapcar #'cons [apple orange] [5 10]) => ((apple . 5) (orange . 10))
(cl-mapcar #'list [apple orange] [5 10]) => ((apple 5) (orange 10))
Emacs cl-mapcartoma como argumentos una función de arity una o más y el mismo número de secuencias que su arity. Common Lisp mapcares similar, pero las únicas secuencias que acepta son listas.