[Haskell-cafe] I need a hint in list processing

Erik de Castro Lopo mle+hs at mega-nerd.com
Sun Jun 14 04:13:42 EDT 2009


Fernan Bolando wrote:

> Hi all
> 
> If I have a number of list
> example
> list1 = [2,3]
> list2 = [1,2]
> list3 = [2,3,4]
> list4 = [1,2,3]
> 
> I want to create a list from the list above with n elements,
> non-repeating and each elements index represents 1 of the elements
> from the corresponding list so for the above input I would get.
> 
> a = [3,2,4,1]
> 
> ofcourse there may be several set that will satisfy the problem, so a
> list of list that satisfies would be good.
> 
> How do I do this in haskell? or is there a code snippet that seems to
> work similarly?

Well you could simply concatenate all the lists using the (++) operator
and then use Data.List.nub:

    http://haskell.org/ghc/docs/latest/html/libraries/base/Data-List.html#v:nub

to remove duplicates.

Erik
-- 
----------------------------------------------------------------------
Erik de Castro Lopo
http://www.mega-nerd.com/


More information about the Haskell-Cafe mailing list