簡體   English   中英

在列表序言列表中反向列表

[英]Reverse lists in list of lists prolog

我想從列表列表中反轉每個列表。 我有一些看起來像:

[[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).
reverseInList([],[]).
reverseInList([H|Ts],[H1|R]):-
    reverse(H,H1),
    reverseInList(Ts,R).

這可以通過遍歷列表並使用庫函數“ reverse / 2”來反轉每個子列表來實現。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM