Removing duplicate solutions
        Posted  
        
            by 
                Enoon
            
        on Stack Overflow
        
        See other posts from Stack Overflow
        
            or by Enoon
        
        
        
        Published on 2012-11-15T08:33:32Z
        Indexed on 
            2012/11/15
            11:01 UTC
        
        
        Read the original article
        Hit count: 207
        
My code merges two lists of lists, item by item, in the following way:
mergeL([[a,b],[c,d]], [[1,2],[3,4]], Result). Result = [[a,b,1,2],[c,d,3,4]]
And this is the code i use:
mergeL([],[],[]).
mergeL(List, [], List).
mergeL([], List, List).
mergeL([X|Rest],[Y|Rest2], [XY|Res2]) :- mergeL(Rest, Rest2, Res2), append(X,Y,XY).
This seems to work but if i call it with two lists of the same size i get three repeated results. Example (both list contain only one element):
?- mergeL([[a,b]],[[1,2,3]],Q).
Q = [[a, b, 1, 2, 3]] ;
Q = [[a, b, 1, 2, 3]] ;
Q = [[a, b, 1, 2, 3]].
Is there a clean way to make this output only one solution?
© Stack Overflow or respective owner