En este artículo, discutiremos las funciones de mapeo en lisp. Las funciones de mapeo se aplican en la estructura de datos de la lista para combinar una o más listas de elementos. Al usar esto podemos realizar operaciones matemáticas y podemos unir los elementos.
La principal ventaja de esta función es que podemos combinar dos o más listas con diferentes tamaños.
también podemos usar estas funciones en nuestras funciones definidas por el usuario
Sintaxis :
mapcar operation list1 list2 ..........list n
dónde,
- mapcar es la palabra clave para mapear las listas
- la operación se utiliza para realizar dos o más listas
- las listas son las listas de entrada que se mapearán
Ejemplo 1: programa Lisp para mapear la lista agregando 1 a todos los números en la lista.
Lisp
;add the number 1 to all the numbers in the list and ;display (write (mapcar '1+ '(1 2 3 4 5)))
Producción:
(2 3 4 5 6)
Ejemplo 2: Realice la elevación al cuadrado y al cubo de números
Lisp
;function to square all the elements by mapping the elements ( defun squaredata(data) (mapcar #'(lambda(i) (* i i )) data) ) ; function to cube all the elements by mapping the elements ( defun cubedata(data) (mapcar #'(lambda(i) (* i i i )) data) ) ;call the square function (write (squaredata '(1 2 3 4 5))) ;call the cube function (write (cubedata '(1 2 3 4 5)))
Producción:
(1 4 9 16 25)(1 8 27 64 125)
Ejemplo 3: Programa para mapear dos listas realizando operaciones aritméticas
Lisp
;map lists by performing addition (write (mapcar '+ '(1 2 3 4 5) '( 5 7 8 3 2))) (terpri) ;map lists by performing subtraction (write (mapcar '- '(1 2 3 4 5) '( 5 7 8 3 2))) (terpri) ;map lists by performing multiplication (write (mapcar '* '(1 2 3 4 5) '( 5 7 8 3 2))) (terpri) ;map lists by performing division (write (mapcar '/ '(1 2 3 4 5) '( 5 7 8 3 2))) (terpri)
Producción:
(6 9 11 7 7) (-4 -5 -5 1 3) (5 14 24 12 10) (1/5 2/7 3/8 4/3 5/2)
Publicación traducida automáticamente
Artículo escrito por saisravanprojects y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA