0

[[int]] を [int] に変更したり、この形式でそれらを比較して欠落している要素があるかどうかを調べる簡単な方法はありますか?

例えば

  set1=   [[1,2,3]] 
  set2= [2,3,]

[1] を返します。私はこれを試しました:

return s1 s2= [x|x<-s1,y<-s2, x/=y]

フォローアップの質問: 重複が返されないようにするにはどうすればよいですか?

set1 = [[1,1,1,2,3]

[1]だけを返すリターン関数を取得するにはどうすればよいですか

4

3 に答える 3

0

concatから への変換[[a]][a]およびnub(から) への変換に使用しData.Listて、リストから重複する要素を削除します。

ghci でのデモ:

>  import Data.List (nub)  
>  let set1 = [[1,2,3]]  
>  let set2 = [2,3]  
>  concat set1 == set2  
False  
>  let set1 = [[1,1,1,2,3]]  
>  nub (concat set1)  
[1,2,3]  
于 2013-10-07T12:55:03.820 に答える