Python學習之路:集合類型及操作

集合類型及操作

一:集合類型的定義

集合是多個元素的無序組合,與數學中的集合概念一致。

1、特點:

​ ① 集合元素之間無序,每個元素唯一,不存在相同元素。

​ ② 集合元素不可更改,不能是可變數據類型。

2、規則:

​ ① 集合用大括號 {} 表示,元素間用逗號分隔。

​ ② 建立集合類型用 {} 或 set()。

​ ③ 建立空集合類型,必須使用set()。

A = {"重啓重裝版本升級大法好", 123, "python"}		#使用{}建立集合
print(A)

#運行結果:{'重啓重裝版本升級大法好', 123, 'python'}
B = set("重啓重裝版本升級大法好")		#使用set()建立集合
print(B)

#運行結果:{'版', '級', '升', '本', '重', '大', '好', '裝', '啓', '法'}
C = {"重啓重裝版本升級大法好", 123, "python", 123, "python"}		#集合元素唯一不重複
print(C)	

#運行結果:{123, '重啓重裝版本升級大法好', 'python'}
3、集合間操作及操作符

①、交:S & T 返回一個新集合,包括同時在集合S和T中的元素

S = {"重啓重裝版本升級大法好", 123, "python"}
T = {"重啓重裝版本升級大法好", 123, "python","天不生紅薔",4321}
print(S & T)

#運行結果:{123, 'python', '重啓重裝版本升級大法好'}

②、並:S | T 返回一個新集合,包括在集合S和T中的所有元素

S = {"重啓重裝版本升級大法好", 123, "python"}
T = {"重啓重裝版本升級大法好", 123, "python","天不生紅薔",4321}
print(S | T)

#運行結果:{4321, '天不生紅薔', 123, 'python', '重啓重裝版本升級大法好'}

③、補:S ^ T 返回一個新集合,包括集合S和T中的非相同元素

S = {"重啓重裝版本升級大法好", 123, "python"}
T = {"重啓重裝版本升級大法好", 123, "python","天不生紅薔",4321}
print(S ^ T )

#運行結果:{4321, '天不生紅薔'}

④、差:T - S 返回一個新集合,包括在集合T但不在S中的元素

S = {"重啓重裝版本升級大法好", 123, "python"}
T = {"重啓重裝版本升級大法好", 123, "python","天不生紅薔",4321}
print( T - S )

#運行結果:{4321, '天不生紅薔'}

⑤、S <= T 或 S < T 返回True/False,判斷S和T的子集關係

S = {"重啓重裝版本升級大法好", 123, "python"}
T = {"重啓重裝版本升級大法好", 123, "python","天不生紅薔",4321}
print(S <= T)

#運行結果1:True
#運行結果2:True

⑥、S >= T 或 S > T 返回True/False,判斷S和T的包含關係

S = {"重啓重裝版本升級大法好", 123, "python"}
T = {"重啓重裝版本升級大法好", 123, "python","天不生紅薔",4321}
print(S >= T)
print(S > T)

#運行結果1:False
#運行結果2:False

⑦、S |= T 並,更新集合S,包括在集合S和T中的所有元素

S = {"重啓重裝版本升級大法好", 123, "python"}
T = {"重啓重裝版本升級大法好", 123, "python","天不生紅薔",4321}
S|=T
print(S)


#運行結果:{4321, '天不生紅薔', 'python', 123, '重啓重裝版本升級大法好'}

⑧、S -= T 差,更新集合S,包括在集合S但不在T中的元素

T = {"重啓重裝版本升級大法好", 123, "python"}
S = {"重啓重裝版本升級大法好", 123, "python","天不生紅薔",4321}
S -= T
print(S)

#運行結果:{4321, '天不生紅薔'}

⑨、S &= T 交,更新集合S,包括同時在集合S和T中的元素

T = {"重啓重裝版本升級大法好", 123, "python"}
S = {"重啓重裝版本升級大法好", 123, "python","天不生紅薔",4321}
S &= T
print(S)

#運行結果:{'python', 123, '重啓重裝版本升級大法好'}

⑩、S ^= T 補,更新集合S,包括集合S和T中的非相同元素

T = {"重啓重裝版本升級大法好", 123, "python"}
S = {"重啓重裝版本升級大法好", 123, "python","天不生紅薔",4321}
S ^= T
print(S)

#運行結果:{'天不生紅薔', 4321}

二:集合處理方法(操作函數or方法)

1、A.add(x) 如果x不在集合A中,將x增加到A

A = {"重啓重裝版本升級大法好", 123, "python","天不生紅薔",4321}
A.add("1")      #只接受一個參數
print(A)

#運行結果:{4321, '重啓重裝版本升級大法好', 'python', '1', '天不生紅薔', 123}

2、A.diAcard(x) 移除A中元素x,如果x不在集合A中,不報錯

A = {"重啓重裝版本升級大法好", 123, "python","天不生紅薔",4321}
A.discard("python")
print(A)
A.discard("1")
print(A)

#運行結果1:{'重啓重裝版本升級大法好', 4321, 123, '天不生紅薔'}
#運行結果2:{'重啓重裝版本升級大法好', 4321, 123, '天不生紅薔'}

3、A.remove(x) 移除A中的元素x,如果x不在集合A中,產生KeyError異常

A = {"重啓重裝版本升級大法好", 123, "python","天不生紅薔",4321}
A.remove(123)
print(A)

#運行結果:{'重啓重裝版本升級大法好', 'python', '天不生紅薔', 4321}

4、A.clear() 移除A中所有元素

A = {"重啓重裝版本升級大法好", 123, "python","天不生紅薔",4321}
A.clear()
print(A)

#運行結果:set()			
#set()表示空集合

5、A.pop() 隨機返回A的一個元素,更新A,若A爲空產生KeyError異常

A = {"重啓重裝版本升級大法好", 123, "python","天不生紅薔",4321}
print(A.pop())

#運行結果:天不生紅薔

6、A.copy() 返回集合A的一個副本

A = {"重啓重裝版本升級大法好", 123, "python","天不生紅薔",4321}
B = A.copy()
print(B)

#運行結果:{123, 4321, '重啓重裝版本升級大法好', 'python', '天不生紅薔'}

7、len(A) 返回集合A的元素個數

A = {"重啓重裝版本升級大法好", 123, "python","天不生紅薔",4321}
print(len(A))

#運行結果:5

8、x in A 判斷A中元素x,x在集合A中,返回True,否則返回False

A = {"重啓重裝版本升級大法好", 123, "python","天不生紅薔",4321}
print(123 in A)
print(321 in A)

#運行結果1:True
#運行結果2:False

9、x not in A 判斷A中元素x,x不在集合A中,返回True,否則返回False

A = {"重啓重裝版本升級大法好", 123, "python","天不生紅薔",4321}
print(123 not in A)
print(321 not in A)

#運行結果1:False
#運行結果2:True

10、set(x) 將其他類型變量x轉變爲集合類型

str = "python"+"pypy"
print(set(str))

#運行結果:{'t', 'h', 'p', 'o', 'n', 'y'}

三:集合類型應用場景

1、數據去重:集合類型所有元素無重複

ls = ["p","p","y","y", 123]
print(set(ls))

#運行結果:{'p', 123, 'y'}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章