我已經給出了一個任務,用於對列表中的哪個列表中的哪個 未包含在另一個列表中進行排序。將子列表分開的問題
在這種情況下,它是沒有銀行賬戶的NI號碼。
的類型如下:
type NI = Int
type Age = Int
type Balance = Int
type Person = (NI, Age, Balance)
type Bank = [Person]
type Market = [Bank]
type Pop = [NI]
的bankFree功能如下:
bankFree :: Pop -> Market -> Pop
bankFree a b = filter (map op3 b) a
where
op3 [(x, y, z)] = x
我完全難倒我從這裏去哪裏。我知道我將不得不在Pop列表上工作,以便從該列表中刪除地圖操作中的元素。我嘗試過適應notElem並執行一堆其他不同的測試,但沒有用。
將不勝感激任何幫助。
確保你的'op3'正在做你期望的(它的類型是什麼?它會處理所有可能的輸入嗎?)。你是否熟悉[集合論](http://www.leda-tutorial.org/en/official/ch02s08s02.html)中的交集,聯合等概念?您可能會發現像[Data.Map](http://hackage.haskell.org/package/containers-0.5.3.1/docs/Data-Map.html)或Data.Set這樣的其他數據結構可能更適合並且已經提供您需要的功能 – jberryman