我想根據其元組中的第一個元素檢查串列是否是另一個串列的子集。
subset(List(('a', 1), ('b', 2), ('c', 3)), List(('a', 4), ('b', 5)) // True
subset(List(('a', 1), ('b', 2), ('c', 3)), List(('a', 4), ('b', 5), ('f', 6)) // False
串列的大小不必相同。我試過這樣的事情,但沒有運氣
x.forall((char: Char, num: Int) => {y.contains((_,num))})
uj5u.com熱心網友回復:
您可以映射輸入串列以僅保留第一個元素,然后使用一些設定功能來檢查相等性:
def subset(a: List[(Char, Int)], b: List[(Char, Int)]): Boolean = {
val a_ = a.map(_._1).toSet
val b_ = b.map(_._1).toSet
b_.subsetOf(a_)
}
更新:根據 Luis 的建議進行簡化
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/327227.html
上一篇:如何在回圈中合并兩個串列?
