我在例如L=[a,b,c,d,e,f]
的prolog中有列表,我想将此列表转换为具有此类型L2=[[a,b],[c,d],[e,f]]
的新列表,换句话说,我想要转换列表中的每两个连续元素到新名单。
答案 0 :(得分:3)
普通的Prolog,根据您的要求量身定制:
'convert every two consecutive element'([], []). % base case
'convert every two consecutive element'([A,B|R], [[A,B]|S]) :-
'convert every two consecutive element'(R, S).
列表长度必须均匀才能成功,否则您需要优化基本情况。