集合set,無序,是不容許重複內容的,也就是不容許重複元素,若是有重複,會自動忽略,可接收可迭代類型 (通常用於須要判斷和處理交集時候用到)python
集合與字典的區別是,集合沒有鍵只有值,字典是有鍵的字典是一對鍵值對spa
因此建立空集合不能用{}大括號,用大括號建立空集合默認會變成字典,若是須要建立空集合用set()code
建立集合blog
1 #!/usr/bin/env python 2 # -*- coding:utf-8 -*- 3 #建立集合 4 a = set() 5 a = {11,22,33,44,55,55} 6 print(a) 7 #打印出 {33, 11, 44, 22, 55}
轉換集合排序
1 #!/usr/bin/env python 2 # -*- coding:utf-8 -*- 3 #轉換集合 4 a = [11,22,33,44,55] 5 b = (11,22,33,44,55) 6 c = "123456789" 7 #將列表轉換成集合 8 zh_a = set(a) 9 print(zh_a) 10 #將元組轉換成集合 11 zh_b = set(b) 12 print(zh_b) 13 #將字符串轉換成集合 14 zh_c = set(c) 15 print(zh_c) 16 #打印出 17 #{33, 11, 44, 22, 55} 18 #{33, 11, 44, 22, 55} 19 #{'7', '5', '1', '9', '4', '2', '8', '6', '3'}
集合的類庫功能utf-8
add(
self
,
*
args,
*
*
kwargs)
rem
"添加元素"(要添加的元素)字符串
1 #!/usr/bin/env python 2 # -*- coding:utf-8 -*- 3 #建立一個集合 4 se = {11,22,33,44} 5 #向集合裏添加元素 6 se.add(55) 7 print(se) 8 #打印出 {33, 11, 44, 22, 55}
clear(
self
,
*
args,
*
*
kwargs)
io
"清空元素"()class
1 #!/usr/bin/env python 2 # -*- coding:utf-8 -*- 3 #建立一個集合 4 se = {11,22,33,44} 5 #清空集合裏的元素 6 se.clear() 7 print(se) 8 #打印出 set() 表示空集合
difference(
self
,
*
args,
*
*
kwargs)
"查找出一個集合裏存在,另一個集合不存在的元素"(格式:查找集合.difference(被判斷的集合)
)
1 #!/usr/bin/env python 2 # -*- coding:utf-8 -*- 3 #建立二個集合 4 a = {11,22,33,44} 5 b = {11,55,88,44} 6 #查找出a集合裏存在,b集合不存在的元素 7 c = a.difference(b) 8 print(c) 9 #打印出 {33, 22}
difference_update(
self
,
*
args,
*
*
kwargs)
"從當前集合中刪除和B中相同的元素"(b集合)
1 #!/usr/bin/env python 2 # -*- coding:utf-8 -*- 3 #建立二個集合 4 a = {11,22,33,44,999} 5 b = {11,55,88,44} 6 #從a集合中刪除和B集合中相同的元素 7 a.difference_update(b) 8 print(a) 9 #打印出 {33, 22, 999}
discard(
self
,
*
args,
*
*
kwargs)
"移除指定元素,不存在不報錯"(要移除的元素)
1 #!/usr/bin/env python 2 # -*- coding:utf-8 -*- 3 #建立一個集合 4 a = {11,22,33,44,999} 5 #移除指定元素,不存在不報錯 6 a.discard(999) 7 print(a) 8 #打印出 {33, 11, 44, 22}
intersection(
self
,
*
args,
*
*
kwargs)
"交集,查找出a集合和b集合都存在的元素"(b集合)
1 #!/usr/bin/env python 2 # -*- coding:utf-8 -*- 3 #建立二個集合 4 a = {66,22,33,44,99} 5 b = {44,55,66,77,33} 6 #交集,查找出a集合和b集合都存在的元素 7 c = a.intersection(b) 8 print(c) 9 #打印出 {33, 66, 44}
intersection_update(
self
,
*
args,
*
*
kwargs)
"交集,查找出a集合和b集合都存在的元素,並從新更新到a集合"(b集合)
1 #!/usr/bin/env python 2 # -*- coding:utf-8 -*- 3 #建立二個集合 4 a = {66,22,33,44,99} 5 b = {44,55,66,77,33} 6 #交集,查找出a集合和b集合都存在的元素,並從新更新到a集合 7 a.intersection_update(b) 8 print(a) 9 #打印出 {33, 66, 44}
isdisjoint(
self
,
*
args,
*
*
kwargs)
"檢查a集合和b集合是否有都存在的元素"(b集合)
返回布爾值:若是沒有都存在的,返回True,不然返回False
1 #!/usr/bin/env python 2 # -*- coding:utf-8 -*- 3 #建立二個集合 4 a = {66,22,33,44,99} 5 b = {44,55,66,77,33} 6 #檢查a集合和b集合是否有都存在的元素, 7 c = a.isdisjoint(b) 8 print(c) 9 #打印出 False 說明有交集
issubset(
self
,
*
args,
*
*
kwargs)
"判斷一個集合是不是另外一個集合的子序列"(b集合)
是返回True 不是返回False
1 #!/usr/bin/env python 2 # -*- coding:utf-8 -*- 3 #建立二個集合 4 a = {11,22,33,44} 5 b = {11,22} 6 #檢查a集合是不是b集合的子序列, 7 c1 = a.issubset(b) 8 print(c1) 9 #檢查b集合是不是a集合的子序列 10 c2 = b.issubset(a) 11 print(c2) 12 #打印出 13 #False 檢查a集合是不是b集合的子序列,說明a集合不是b集合的子序列 14 #True 檢查b集合是不是a集合的子序列,說明b集合是a集合的子序列
issuperset(
self
,
*
args,
*
*
kwargs)
"判斷一個集合是不是另外一個集合的父序列"(b集合)
是返回True 不是返回False
1 #!/usr/bin/env python 2 # -*- coding:utf-8 -*- 3 #建立二個集合 4 a = {11,22,33,44} 5 b = {11,22} 6 #檢查a集合是不是b集合的父序列, 7 c1 = a.issuperset(b) 8 print(c1) 9 #檢查b集合是不是a集合的父序列 10 c2 = b.issuperset(a) 11 print(c2) 12 #打印出 13 #True 檢查a集合是不是b集合的父序列,說明a集合是b集合的父序列 14 #False 檢查b集合是不是a集合的父序列,說明b集合不是a集合的父序列
pop(
self
,
*
args,
*
*
kwargs)
"移除元素"()
通常默認移除第一個元素,只是集合有一套本身的元素排序規則,
1 #!/usr/bin/env python 2 # -*- coding:utf-8 -*- 3 a = {44,55,66,77,88} 4 #打印出集合,能夠看到集合裏的元素排序狀況 5 print(a) 6 #移除集合裏的元素,默認移除元素裏的第一個排序元素 7 b = a.pop() 8 #打印出被移除的元素 9 print(b) 10 #打印出a集合被移除後剩下的全部元素 11 print(a) 12 #最後打印出 13 #{88, 66, 44, 77, 55} 14 #88 15 #{66, 44, 77, 55}
remove(
self
,
*
args,
*
*
kwargs)
"移除指定元素,不存在保錯"(要移除的元素)
1 #!/usr/bin/env python 2 # -*- coding:utf-8 -*- 3 a = {44,55,66,77,88} 4 #打印出a集合 5 print(a) 6 #移除a集合裏指定的元素 7 a.remove(44) 8 #打印a集合移除指定元素後,剩下的全部元素 9 print(a) 10 #最後輸出 11 #{88, 66, 44, 77, 55} 12 #{88, 66, 77, 55}
symmetric_difference(
self
,
*
args,
*
*
kwargs)
"對稱差集,就是將兩個集合裏沒有交集的元素從新組合成一個新的集合"(b集合)
1 #!/usr/bin/env python 2 # -*- coding:utf-8 -*- 3 a = {44,55,66,77,88} 4 b = {44,55,11,22,33} 5 #對稱差集,就是將兩個集合裏沒有交集的元素從新組合成一個新的集合 6 c = a.symmetric_difference(b) 7 print(c) 8 #輸出 9 #{33, 66, 11, 77, 22, 88}
symmetric_difference_update(
self
,
*
args,
*
*
kwargs)
"對稱差集,並更新到a中,就是將兩個集合裏沒有交集的元素從新組合更新給a集合"(b集合)
1 #!/usr/bin/env python 2 # -*- coding:utf-8 -*- 3 a = {44,55,66,77,88} 4 b = {44,55,11,22,33} 5 #對稱差集,並更新到a中,就是將兩個集合裏沒有交集的元素從新組合更新給a集合 6 a.symmetric_difference_update(b) 7 print(a) 8 #輸出 9 #{33, 66, 11, 77, 22, 88}
union(
self
,
*
args,
*
*
kwargs)
"並集,將兩個集合合併成一個新的集合,元素有重複的會自動忽略"(b集合)
1 #!/usr/bin/env python 2 # -*- coding:utf-8 -*- 3 a = {44,55,66,77,88} 4 b = {44,55,11,22,33} 5 #並集,將兩個集合合併成一個新的集合,元素有重複的會自動忽略只保留一次 6 c = a.union(b) 7 print(c) 8 #輸出 9 #{33, 66, 11, 44, 77, 22, 55, 88}
update(
self
,
*
args,
*
*
kwargs)
"更新,將b集合更新到a集合,至關於合併"(b集合)
1 #!/usr/bin/env python 2 # -*- coding:utf-8 -*- 3 a = {44,55,66,77,88} 4 b = {44,55,11,22,33} 5 #更新,將b集合更新到a集合,至關於合併 6 a.update(b) 7 print(a) 8 #輸出 9 #{33, 66, 11, 44, 77, 22, 55, 88}