Итак, мне нужно создать предикат, unzip (L, R, P), где P - список пар (пример: P = [[1,2], [3,4 .]] L должен быть новый список, который содержит первый элемент из каждой пары, а R представляет собой новый список, содержащий второй элемент из каждой парыПролог: распаковать список пар
Вот что у меня есть.:
unzip([],[],[]).
unzip([H1|T1],[H2|T2],[HL,HR|T]) :-
H1 = HL,
H2 = HR,
unzip(T1,T2,T).
Этих работает, если количество пар нечетное. Я не вижу, как это может быть из-за каких-либо советов?
РЕДАКТИРОВАТЬ: Придумал. Вот мое решение, если кому-то интересно:
unzip([],[],[]).
unzip([H1|T1],[H2|T2],[[HL,HR]|T]) :-
H1 = HL,
H2 = HR,
unzip(T1,T2,T).
Вы можете сделать это ответ и принять его. Вы могли бы помочь кому-то позже. – joneshf
Обратите внимание, что вы написали также 'zip' – false