1. 程式人生 > >python學習(五)---集合操作

python學習(五)---集合操作

symmetric 現在 集合 super 指定 沒有 出現 pri 元素

集合操作
# 集合是個無序的,不重復的數據組合,其主要作用如下:
# 1、去重,把一個列表變成集合,就自動去重了
# 2、關系測試,測試兩個數據之前的交集、差集、並集等關系
# 常用操作:
s = set([3, 5, 9, 10, 5]) # 創建一個數值集合
print(s)
# 顯示:{9, 10, 3, 5}

t = set("Hello") # 創建一個唯一字符的集合
print(t)
# 顯示:{‘H‘, ‘o‘, ‘e‘, ‘l‘}

a = t | s # t和s的並集
print(a)
# 顯示:{3, 5, 9, 10, ‘l‘, ‘o‘, ‘H‘, ‘e‘}

b = t & s # t和s的交集
print(b)
# 顯示:set()

c = t - s # 求差集(在t中但不在s中)
print(c)
# 顯示:{‘o‘, ‘H‘, ‘e‘, ‘l‘}

d = t ^ s # 對稱差集(在t或s中,但不同時出現在二者中)
print(d)
# 顯示:{‘e‘, 3, 5, 9, 10, ‘H‘, ‘l‘, ‘o‘}

# 基本操作:
t.add(‘x‘) # 添加一項
print(t)
# 顯示:{‘H‘, ‘x‘, ‘o‘, ‘e‘, ‘l‘}

s.update([10, 37, 42]) # 在s中添加多項
print(s)
# 顯示:{3, 37, 5, 9, 10, 42}

t.remove(‘H‘) # 刪除指定項
print(t)
# 顯示:{‘l‘, ‘e‘, ‘x‘, ‘o‘}

print(len(s)) # 集合s的長度
# 顯示:6

f = ‘x‘ in s # 測試x是否是s的成員
print(f)
# 顯示:False
g = ‘x‘ not in s # 測試x是否不是s的成員
print(g)
# 顯示:True

print(s.issubset(t)) # 測試是否 s 中的每一個元素都在 t 中,即s是不是t的子集
print(s <= t) # 同上
# 顯示:False

print(s.issuperset(t)) # 測試是否t中的每一個元素都在s中,即s是不是t的父級
print(s >= t) # 同上
# 顯示:False

print(s.union(t)) # s和t的並集,返回一個新的 set 包含 s 和 t 中的每一個元素
print(s | t) # 同上
# 顯示:{3, ‘l‘, 37, 5, ‘o‘, 9, 42, 10, ‘x‘, ‘e‘}

print(s.intersection(t)) # s和t的交集,返回一個新的 set 包含 s 和 t 中的公共元素
print(s & t) # 同上
# 顯示:set()

print(s.difference(t)) # s和t的差集,返回一個新的 set 包含 s 中有但是 t 中沒有的元素
print(s - t) # 同上
# 顯示:{3, 5, 37, 9, 10, 42}

print(s.symmetric_difference(t)) # 對稱差集,返回一個新的 set 包含 s 和 t 中不重復的元素
print(s ^ t) # 同上
# 顯示:{3, ‘l‘, 37, 5, ‘o‘, 9, 10, 42, ‘x‘, ‘e‘}

j = s.copy() # 返回 set “s”的一個淺復制
print(j)
# 顯示:{3, 42, 37, 5, 9, 10}

python學習(五)---集合操作