фильтровать список в отдельные списки
Мне нужно отфильтровать список[#,d,e,#,f,g]
так что я получаю вывод как[[d,e],[f,g]]
,
Я застреваю при создании нового списка каждый раз, когда сталкиваюсь с '#', есть ли способ сделать это? Я попробовал код ниже,
filterL([],List) :-[].
filterL([Head|Tail],X) :-
( Head \='#'->
append(X,Head,List),
filterL(Tail,List)
; filterL(Tail,X)
).