Определить функцию PAIRINGS - Lisp
Формулировка задачи:
Определить функцию PAIRINGS, которая формирует пары элементов из двух списков. Например,
> (PAIRINGS ‘(A B C) ‘(1 2 3))
((A 1) (B 2) (C 3))
Решение задачи: «Определить функцию PAIRINGS»
textual
Листинг программы
data LispVal = Atom String | List [LispVal] | DottedList [LispVal] LispVal | Number Integer | String String | Bool Bool
Объяснение кода листинга программы
Код представлен в виде реализации функции PAIRINGS, которая принимает на вход два списка: lst1 и lst2.
Вам необходимо реализовать эту функцию таким образом, чтобы она возвращала список всех возможных комбинаций двух списков.
Код функции PAIRINGS может выглядеть так:
- Создайте пустой список
result, который будет содержать все возможные комбинации. - Для каждого элемента
xизlst1:- Создайте новый список
temp, содержащий все элементыlst2. - Добавьте
xв началоtemp. - Добавьте
tempвresult.
- Создайте новый список
- Верните
result. Обратите внимание, что этот код предполагает, чтоlst1иlst2являются списками, содержащими только элементы, которые могут быть преобразованы в строки. Если это не так, вам нужно будет добавить соответствующие проверки и обработку ошибок. Также обратите внимание, что этот код не учитывает порядок элементов в исходных списках. Если вам нужно сохранить порядок, вам нужно будет изменить код соответствующим образом.