集合的使用

2021-09-07 14:19:29 字數 3512 閱讀 8580

集合的特點

集合是乙個無序的,不重複的陣列組合

1、去重,找出2個列表裡重複的項。把乙個列表變成集合就自動去重了。

2、關係測試,測試兩組資料之前的交集、差集、並集等關係

常用操作:

set(字串),就把列表轉換成集合。注意集合的大括號組成{},像字典,但是不是

這種寫法,是直接把列表變成集合:

取集合的交集:

集合1.intersection(集合2)

取集合的並集:

集合1.union(集合2)

取兩個集合的差集:

集合1.difference(集合2)=集合1在集合2裡沒有的數值

判斷集合1是不是集合2的子集:

集合1.issubset(集合2)

判斷集合1是不是集合2的父集:

集合1.issuperset(集合2)

反向差集(對稱差集):把兩個集合裡都有的項,去除了。

集合1.symmetric_difference(集合2)

如果兩個集合沒有交集,那麼返回為true

集合1.isdisjoint(集合2)

除了用英文單詞來表示這些集合的關係,還可以用字元來表達

求交集:交集1 & 交集2

求並集: 集合1 | 集合2

求差集:集合1-集合2,在集合1裡不在集合2

求對稱差集:集合1 ^ 集合2

增刪改查:

增加:集合.add(x)   #新增1項

集合.update #新增多項

刪除:集合.remove(x),指定刪除x,如果x不存在會報錯

集合.pop(x)隨機刪除乙個數值,並返回這個數值。

集合.discard(x),刪除指定乙個值x,如果x不存在,不會報錯。

集合的長度:

len(集合)

測試x是否是s的成員:字串,列表,字典,集合,全部都是這麼寫!

x in s

測試x是否不是s的成員:

x not in s

集合的淺複製:

集合.copy()

返回set集合的乙個淺複製

等價操作符

說明所有集合型別

len(s)集合基數:集合s中元素個數

set([obj])可變集合工廠函式:ojb必須是支援迭代的,由obj中的元素建立集合,否則建立乙個空集合

frozenset([obj])不可變集合工廠函式:執行方式好set()方法相同,但它返回的是不可變集合

obj in s成員測試

obj not in s非成員測試

s == t等價測試

s != t不等價測試

s < t(嚴格意義上)子集測試

s.issubset(t)s <= t子集測試

s > t(嚴格意義上)超集測試

s.issuperset(t)s >= t超集測試

s.union(t)s | t合併操作

s.intersec-tion(t)s & t交集操作

s.difference(t)s – t差分操作

s.symmetric_fifference(t)s ^ t對稱差分操作

s.copy()

賦值操作:返回s的(淺複製)副本

僅適用於可變集合

s.update(t)s |= t

(union)修改操作:將t中的成員新增s

s.intersection_update(t)s &= t

交集修改操作:s中僅包括s和t中共有的成員

s.difference_update(t)s -= t

差修改操作:s中僅包括屬於s但不屬於t的成員

s.symmetric_difference_ update(t)s ^= t

對稱差分修改操作:s中包括僅屬於s或僅屬於t的成員

s.add(obj)

加操作:將obj新增到s

s.remove(obj)

刪除操作

s.discard(obj)

丟棄操作:remove()的友好版本,如果s中存在ojb,從s中刪除它

s.pop()

pop操作:移除並返回s中的任意乙個值

s.clear()

清除操作:移除s中的所有元素

集合的使用

要求 1 addrecord userid,projectid,price 表示使用者userid 給工程 projectid 投標 price。若記錄中有userid 給工程projectid 投標,則不加入該記錄 2 updaterecord userid,projectid,price 表示更...

集合的使用

優先順序 not and or 從左至右依次計算。and 且 前後都是真的 or 或 有乙個為真 就為真 not 非 取反 同等優先條件下 從左至右依次運算 x and y 如果x為真 則值為y 否則為 x 集合是無序的,不重複的資料集合,他裡面的元素是可雜湊的 不可變型別 但是集合本身是不可雜湊 ...

oracle 集合的使用

每組查詢均能得到其結果集,若需將多個查詢結果合併成乙個結果集,則可利用集合運算來實現。如並集 union 並集且不去除重複行 unoin all 交集 intersect 差集 minus 集合命令的目的是將兩個 含以上 sql語句產生的結果合併。由於需要將兩個 含以上 資料集合並 因此字段數量必須...