scala中集合的交集 並集 差集

2021-07-12 01:16:08 字數 899 閱讀 7337

scala> set(1,2,3) & set(2,4)   // &方法等同於interset方法

scala> set(1,2,3) intersect set(2,4)

scala> set(1,2,3) ++ set(2,4)

scala> set(1,2,3) | set(2,4) // |方法等同於union方法

scala> set(1,2,3) union set(2,4)

scala> set(1,2,3) -- set(2,4) //得到 set(1,3)

scala> set(1,2,3) &~ set(2,4)

scala> set(1,2,3) diff set(2,4)

新增或刪除元素,可以直接用+,-方法來操作,新增刪除多個元素可以用元組來封裝:

scala> set(1,2,3) + (2,4)

scala> set(1,2,3) - (2,4)

另外,對於非set集合,在做交集、並集、差集時必須轉換為set,否則元素不去重沒有意義。

而對於非set型別集合元素去重,也有個很好的方法:distinct,定義在 genseqlike 特質中

這個方法的好處是集合在去重後型別不變,比用set去重更簡潔

scala> list(1,2,2,3).distinct

scala> list(1,2,2,3).toset.tolist

補充,原用於去重的方法removeduplicates已不鼓勵使用。

【完】

scala中集合求交集 並集 差集

前言 scala中的集合set,用於存放無序非重複資料 對於非set集合 array arraybuffer list listbuffer 在做交集 並集 差集時必須轉換為set,否則元素不去重沒有意義 而對於非set型別集合元素去重,也有個很好的方法 distinct scala list 1,...

Python 集合的交集,並集,差集

前提 測試中需要給某些應用設定黑名單,所以從.txt檔案中求兩者的差集,就可以篩選出需要測試的應用 思路 將.txt檔案中的資料讀到list列表中,求列表的交集,再輸出到指定目錄 一.list操作的思路 a 1,2,3,4,5,6 b 5,6,7 c 交集c i for i in a if i in...

交集並集差集

1 內連線 select from student a inner join sc b on a.sno b.sno 左連線 select from student a left join sc b on a.sno b.sno 差集 select sno from student except s...