我是一個相對較新的程序員,通過udemy類學習scala和函數式編程。從一個列表中過濾單詞和另一個單詞
我正在尋求基於另一個字符串列表篩選字符串列表。我想,以減少第一個列表下來,這樣,當我把它打印出來,它僅包含字 - 「搶」,「學習」,「斯卡拉」
這裏是我一起工作的代碼:
val list1:Array[String] = Array("rob","you", "to","learns", "your", "the","scala", "a")
val badWords:Array[String] = Array("you", "to", "your", "the", "a")
val list2 = list1.map(x => badWords.map(badWord => list1.filter(word => word != badWord)))
for (word <- list2) {
println(word)
}
我的邏輯是,從list1的每個字,我再嘗試每個BADWORD元素比較與當前列表1項,以確定是否應該過濾與否。
我已經通過硬編碼在我想過濾的內容中成功運行了此操作,例如val list2 = list1.filter(_ != "to")
。很顯然,我想給這個擴展的能力,所以我想學習如何配對過濾器和映射函數(如果這是正確的方法)。
在此先感謝,請告知我是否應提供更多信息或上下文。
'list1的差異badWords' – jwvh
是的,這就是我一直在尋找實現 –
不使用差異,它不會刪除一個壞詞的多個實例 –