我想从列表列表中反转每个列表。 我有一些看起来像:
[[a,b],[],[c,d,e],[],[],[f,g]]
我想要的是阅读列表列表并反转每个列表并获得此结果:
[[b,a],[],[e,d,c],[],[],[g,f]]
我已经有了反向功能:
reverse(L, R) :- reverse(L, [], R).
reverse([], R, R).
reverse([H|T], A, R) :- reverse(T, [H|A], R).
我如何设法阅读清单?
像这样的递归函数会起作用吗?
reverseLL([H|T], L) :-
reverse(H,NH),
reverseLL([T],[NH|L]).
reverseLL([],L).
答案 0 :(得分:1)
reverseInList([],[]).
reverseInList([H|Ts],[H1|R]):-
reverse(H,H1),
reverseInList(Ts,R).
这可以通过递归列表并使用库函数'reverse / 2'来反转每个子列表。