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 cl
biblioteca define el alias más corto pairlis
para 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-mapcar
toma como argumentos una función de arity una o más y el mismo número de secuencias que su arity. Common Lisp mapcar
es similar, pero las únicas secuencias que acepta son listas.