十年網(wǎng)站開發(fā)經(jīng)驗(yàn) + 多家企業(yè)客戶 + 靠譜的建站團(tuán)隊(duì)
量身定制 + 運(yùn)營(yíng)維護(hù)+專業(yè)推廣+無憂售后,網(wǎng)站問題一站解決
集合可以像元組一樣,設(shè)置不可改變的類型;也可以默認(rèn)像字典,列表一樣,可以迭代改變;同時(shí)集合里的元素可以是列表,元組,字典。
站在用戶的角度思考問題,與客戶深入溝通,找到遼源網(wǎng)站設(shè)計(jì)與遼源網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗(yàn),讓設(shè)計(jì)與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個(gè)性化、用戶體驗(yàn)好的作品,建站類型包括:網(wǎng)站設(shè)計(jì)、成都網(wǎng)站設(shè)計(jì)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣、域名申請(qǐng)、虛擬主機(jī)、企業(yè)郵箱。業(yè)務(wù)覆蓋遼源地區(qū)。
1、python集合的作用——?jiǎng)?chuàng)建字典
可使用大括號(hào) { } 或者 set() 函數(shù)創(chuàng)建集合,注意:創(chuàng)建一個(gè)空集合必須用 set() 而不是 { },因?yàn)?{ } 是用來創(chuàng)建一個(gè)空字典。
my_set = set(('apple',))
my_set
{'apple'}
2、python集合的作用——添加元素(add(),update())
# add 作為一個(gè)整體添加到集合中
my_set = set()
my_set.add("abc")
print(my_set)
#update 是把要傳入的元素拆分,做為個(gè)體傳入到集合中
my_set = set()
my_set.update("abc")
print(my_set)
3、python集合的作用——?jiǎng)h除元素(remove(),pop(),discard())
#remove 如果集合種有,則直接刪除;如果沒有,程序報(bào)錯(cuò) 格式:集合名.remove(元素)
my_set = {11, 13, 15}
my_set.remove(13)
print(my_set) my_set.remove(131)
print(my_set)
#pop 隨機(jī)刪除集合中的元素 如果集合中沒有元素則程序報(bào)錯(cuò)
my_set = {11, 13, 15}
my_set.pop()
print(my_set)
#discard 如果集合中元素存在,直接刪除; 如果元素不存在 不做任何操作 格式: 集合名.discard(元素)
my_set = {11, 13, 15}
my_set.discard(13)
print(my_set)
my_set.discard(131)
print(my_set)
4、python集合的作用——交集( )
set1 = {9, 2, 3, 4}
set2 = {3, 4, 5, 16}
new_set = set1 set2
print(new_set)
# result {3, 4}
5、python集合的作用——并集( | )
set1 = {1, 2, 3, 4}
set2 = {3, 5, 5, 6}[page]
new_set = set1 | set2
print(new_set)
# result {1, 2, 3, 4, 5, 6}
6、python集合的作用——差集(-)
項(xiàng)在前一個(gè)集合中,但不在后一個(gè)集合中。
set1 = {1, 2, 3, 4}
set2 = {3, 4, 5, 6}
new_set = set1 - set2
print(new_set)
# result {1, 2}
7、python集合的作用——對(duì)稱差集( ^ )
即項(xiàng)在前一個(gè)集合或后一個(gè)集合中,但不會(huì)同時(shí)出現(xiàn)在二者中。即交集減去并集。
set1 = {1, 2, 3, 4}
set2 = {3, 4, 5, 6}
new_set = set1 ^ set2
print(new_set)
# result {1,2,5,6}
8、python集合的作用——子集判斷
set1 = { 3, 4}
set2 = {3, 4, 5, 6}
# 判斷set1是否是set2的子集
print(set1.issubset(set2))
# result True
9、python集合的作用——父集判斷
set1 = { 3, 4}
set2 = {3, 4, 5, 6}
# 判斷set1是否是set2的父集
print(set1.issuperset(set2))
# result False
10、python集合的作用——迭代和枚舉
s={34,56,76,34,56,54,43,23,56}
for i in s:
print(i) ##迭代輸出其內(nèi)容
for i,v in enumerate(s):
print('index: %s,value: %s' %(i,v))
"""
result:
index: 0,value: 34
index: 1,value: 43
index: 2,value: 76
index: 3,value: 54
index: 4,value: 23
index: 5,value: 56
"""
可觀察出,集合會(huì)自動(dòng)過濾掉相同元素。
python集合的作用都有哪些?原來這些功能才是最實(shí)用的,集合可以像元組一樣,設(shè)置不可改變的類型;也可以默認(rèn)像字典,列表一樣,可以迭代改變;同時(shí)集合里的元素可以是列表,元組,字典,你能處理好嗎?如果您還擔(dān)心自己入門不順利,可以點(diǎn)擊本站的其他文章進(jìn)行學(xué)習(xí)。
一、創(chuàng)建集合
創(chuàng)建非空集合:集合中set括號(hào)中需要的參數(shù)的數(shù)據(jù)類型有:序列(包括字符串、列表、元組),字典可以轉(zhuǎn)為集合,注意數(shù)值類型不能作為集合的參數(shù),如int類型。
二、添加元素
add() 方法是將要添加的元素作為一個(gè)整體添加到集合中
update() 方法是把要傳入的元素拆分成單個(gè)字符,存于集合中,并去掉重復(fù)的
三、刪除元素
集合的刪除操作使用的方法跟列表是一樣的,使用的也是 remove 方法,只能單個(gè)刪除
四、遍歷集合
五、集合與字符串、列表、元組互轉(zhuǎn),集合轉(zhuǎn)字典
六、查找元素并刪除
函數(shù)原型: a.discard(b)
參數(shù)說明:a為一個(gè)set類型的變量;b表示要查找并刪除的元素
函數(shù)作用:在集合setVar中查找element元素,如果存在則刪除;如果沒找到,則什么也不做。該函數(shù)沒有返回值
七、pop用法
函數(shù)原型: set1.pop() ? ? 刪除并返回集合set1中的第一個(gè)元素,如果為空引發(fā)KeyError錯(cuò)誤+
八、clear、copy和len的用法
clear ????方法用于清空集合中的所有元素
copy ????方法用于集合拷貝
len ????跟求序列的長(zhǎng)度的函數(shù)len()是一樣的,返回的是集合中有多少個(gè)元素
九、求集合的交集、并集、差集和difference的用法
求集合的 交集 使用的符號(hào)是 “”
求集合的 并集 用的是符號(hào) “|”
求集合的 差集 使用的符號(hào)是減號(hào) “-”
difference? ? 等價(jià)于集合的差集 ,查看兩個(gè)集合的不同之處。這種不同指的是集合s1相對(duì)于集合s2,不同的地方,也就是所有在集合s1中,而不再集合s2中的的元素組成的新集合
十、運(yùn)算符判斷集合間關(guān)系和issuperset、issubset的用法
集合可以使用大于()、小于()、大于等于(=)、小于等于(=)、等于(==)、不等于(!=)來判斷某個(gè)集合是否完全包含于另一個(gè)集合,也可以使用子父集判斷函數(shù)。
issuperset ? ? 集合st1是否是集合st2的父集
issubset ? ??集合st1是否是集合st2的子集
十一、不可變集合frozenset的用法
frozenset ? ??該集合中的內(nèi)容是不可改變的,其他功能及操作跟可變集合set一樣
1.集合(set)是一個(gè)無序不重復(fù)元素的序列(意思是有重復(fù)的會(huì)自動(dòng)刪除,每次打印元素的位置不一定)
2.基本功能是進(jìn)行成員關(guān)系測(cè)試和刪除重復(fù)元素
3.可以使用大括號(hào) { } 或者 set() 函數(shù)創(chuàng)建集合,注意:創(chuàng)建一個(gè)空集合必須用 set() 而不是 { },因?yàn)?{ } 是用來創(chuàng)建一個(gè)空字典
4.因?yàn)閟et存儲(chǔ)的是無序集合,所以我們沒法通過索引來訪問。訪問 set中的某個(gè)元素實(shí)際上就是判斷一個(gè)元素是否在set中。
1.創(chuàng)建集合
s=set()#創(chuàng)建一個(gè)空集合
s1={1,2,3,'a','python'}
2.刪除重復(fù)的元素
集合是一個(gè)無序不重復(fù)元素的序列(意思是有重復(fù)的會(huì)自動(dòng)刪除,每次打印元素的位置不一定)
3.成員關(guān)系測(cè)試(檢測(cè)某個(gè)成員是否在集合中)
案例:從終端輸入5位數(shù),以空格隔開,把這5位數(shù)存入列表中,剔除重復(fù)的數(shù)據(jù),打印出來
#提示,列表轉(zhuǎn)集合,集合轉(zhuǎn)列表
a=input("請(qǐng)輸入5位數(shù)字:")
mylist=a.split()
print(mylist)
b=set(mylist)
c=list(b)
print(c)
4.集合常用操作
1.添加元素
2.刪除元素
3.刪除整個(gè)集合
4.獲取集合的長(zhǎng)度
5.不支持改元素
集合操作-添加元素
格式:
集合.add(元素)
格式:
集合.update(元素)
區(qū)別:
add不能添加列表,update可以
update是將字符串中的拆分成字符進(jìn)行追加
add,是當(dāng)做整體追加在集合中
#案例:從終端輸入一個(gè)數(shù)字就加入集合中,然后打印,又輸入一個(gè)數(shù)字,然后打印,直到輸入-1,退出輸入
#然后打印最終的集合
ms=set()
while 1:
a=int(input("請(qǐng)輸入一個(gè)數(shù)字:"))
if a==-1:
break
ms.add(a)
print(ms)
print(ms)
#案例:從終端輸入一個(gè)字符串就加入集合中,然后打印,又輸入一個(gè)字符串,然后打印,直到輸入q,退出輸入
#然后打印最終的集合,字符串要分開存儲(chǔ),如輸入hello,存儲(chǔ)的列表是{'h','e','l','0'}
ms=set()
while 1:
a=input("請(qǐng)輸入一個(gè)字符串:")
if a=='q':
break
ms.update(a)
print(ms)
print(ms)
集合操作-刪除元素及刪除整個(gè)集合
格式:
集合.remove(元素)? # 元素如果不存在會(huì)引發(fā)KeyError
集合.discard(元素)? # 元素如果不存在不發(fā)生任何事
集合.pop()? # 集合元素是字符串類型時(shí)刪除隨機(jī)元素。 集合元素是其他數(shù)據(jù)類型時(shí),刪除左邊第一個(gè)元素
del 集合名 #刪除整個(gè)集合
#案例:有集合{1,2,3,'hello','world'},刪除全部字符串,然后最左邊第一個(gè)元素
a={1,2,3,'hello','world'}
a.discard("hello")
a.discard("world")
a.pop()
print(a)
集合操作-獲取集合的長(zhǎng)度
格式:
len(集合名)
#案例:有集合{1,2,3,4,'hello','a'},保留1個(gè)元素,其他的刪除,假如元素個(gè)數(shù)不確定
s={1,2,3,4,'hello','a'}
for i? in range(len(s)-1):
s.pop()
print(s)
集合的集運(yùn)算
集合的交集,并集,差集,對(duì)稱差集的運(yùn)算
{1,2,3,4}交集{4,5,6,7} --4 ? 交集()
{1,2,3,4}并集{4,5,6,7} -1,2,3,4,5,6,7? 并集(|)
{1,2,3,4}差集{4,5,6,7} -1,2,3? 差集(-)
{1,2,3,4}對(duì)稱差集{4,5,6,7}-1,2,3,5,6,7 4同時(shí)出現(xiàn)在兩個(gè)集合中,不選它 對(duì)稱差集(^)
#案例:使用花括號(hào)和set創(chuàng)建各一個(gè)集合,然后對(duì)集合進(jìn)行交、并、差、對(duì)稱差運(yùn)算
s={1,2,3,4,5,6}
s1=set([6,7,8,9,10])
print(ss1)
print(s|s1)
print(s-s1)
print(s^s1)