Определить функцию, объединяющую атомы двух списков - Lisp

Узнай цену своей работы

Формулировка задачи:

Помогите определить функцию, объединяющую атомы двух списков в один ассоциативный список ((x1.y1)(x2.y2)(x3.y3) ... ...) а) для списка из атомов б) для списка, содержащего подсписки

Решение задачи: «Определить функцию, объединяющую атомы двух списков»

textual
Листинг программы
(defun task (l1 l2) 
  (mapcar 'cons l1 l2))
 
==> TASK
 
(task '(a b c d) '(1 2 3 4))
 
==> ((A . 1) (B . 2) (C . 3) (D . 4))

Объяснение кода листинга программы

В данном коде определена функция с именем TASK. Она принимает два аргумента типа списков (l1 и l2). Внутри функции происходит следующее:

  1. Выполняется операция MAPCAR, которая применяет функцию CONS к каждому элементу списков l1 и l2.
  2. Результатом выполнения функции является список, содержащий кортежи, где каждый кортеж состоит из элемента из первого списка (l1) и элемента из второго списка (l2), связанных между собой операцией CONS. Пример вызова функции TASK: (task '(a b c d) '(1 2 3 4)) Результатом выполнения данного кода будет список: ((A . 1) (B . 2) (C . 3) (D . 4))

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

7   голосов , оценка 3.714 из 5
Похожие ответы