037 集合類型及操做

1、概述

  • 集合類型定義
  • 集合操做符
  • 集合處理方法
  • 集合類型應用場景

2、集合類型定義

集合是多個元素的無序組合函數

  • 集合類型與數學中的集合概念一致
  • 集合元素之間無序,每一個元素惟一,不存在相同元素
  • 集合元素不可更改,不能是可變數據類型code

  • 集合用大括號 {} 表示,元素間用逗號分隔
  • 創建集合類型用 {} 或 set()
  • 創建空集合類型,必須使用set()blog

A = {"python", 123, ("python", 123)}  # 使用{}創建集合
A
{('python', 123), 123, 'python'}
B = set("pypy123")  # 使用set()創建集合
B
{'1', '2', '3', 'p', 'y'}
C = {"python", 123, "python", 123}
C
{123, 'python'}

3、集合操做符

3.1 集合間操做

037-集合類型及操做-01.jpg?x-oss-process=style/watermark

3.2 6個操做符

操做符及應用 描述
S | T 返回一個新集合,包括在集合S和T中的全部元素
S - T 返回一個新集合,包括在集合S但不在T中的元素
S & T 返回一個新集合,包括同時在集合S和T中的元素
S ^ T 返回一個新集合,包括集合S和T中的非相同元素
S <= T或S < T 返回True/False,判斷S和T的子集關係
S >= T或S > T 返回True/False,判斷S和T的包含關係

3.3 4個加強操做符

操做符及應用 描述
S |= T 更新集合S,包括在集合S和T中的全部元素
S -= T 更新集合S,包括在集合S但不在T中的元素
S &= T 更新集合S,包括同時在集合S和T中的元素
S ^= T 更新集合S,包括集合S和T中的非相同元素
A = {"p", "y", 123}
B = set("pypy123")
A - B
{123}
A & B
{'p', 'y'}
A ^ B
{'1', 123, '2', '3'}
B - A
{'1', '2', '3'}
A | B
{'1', 123, '2', '3', 'p', 'y'}

4、集合處理方法

操做函數或方法 描述
S.add(x) 若是x不在集合S中,將x增長到S
S.discard(x) 移除S中元素x,若是x不在集合S中,不報錯
S.remove(x) 移除S中元素x,若是x不在集合S中,產生KeyError異常
S.clear() 移除S中全部元素
S.pop() 隨機返回S的一個元素,更新S,若S爲空產生KeyError異常
S.copy() 返回集合S的一個副本
len(S) 返回集合S的元素個數
x in S 判斷S中元素x,x在集合S中,返回True,不然返回False
x not in S 判斷S中元素x,x不在集合S中,返回False,不然返回True
set(x) 將其餘類型變量x轉變爲集合類型
A = {"p", "y", 123}
for item in A:
    print(item, end="")
123yp

5、集合類型應用場景

5.1 包含關係比較

"p" in {"p", "y" , 123}
True
{"p", "y"} >= {"p", "y" , 123}
False

5.2 數據去重:集合類型全部元素無重複

ls = ["p", "p", "y", "y", 123]
s = set(ls)   # 利用了集合無重複元素的特色
s
{123, 'p', 'y'}
lt = list(s)  # 還能夠將集合轉換爲列表
lt
[123, 'y', 'p']

6、小結

  • 集合使用{}和set()函數建立
  • 集合間操做:交(&)、並(|)、差(-)、補(^)、比較(>=<)
  • 集合類型方法:.add()、.discard()、.pop()等
  • 集合類型主要應用於:包含關係比較、數據去重
相關文章
相關標籤/搜索