锐客直播_锐客直播app官方正版下载_锐客直播直播视频在线观看免费版下载

400-650-7353
您所在的位置:首頁(yè) > IT干貨資料 > python > 【Python基礎(chǔ)知識(shí)】Python集合

【Python基礎(chǔ)知識(shí)】Python集合

  • 發(fā)布: python培訓(xùn)
  • 來(lái)源:python干貨資料
  • 2020-09-18 14:15:52
  • 閱讀()
  • 分享
  • 手機(jī)端入口

1、集合概念

Python中的集合,是一個(gè)無(wú)序的、沒(méi)有重復(fù)項(xiàng)的集。它支持?jǐn)?shù)學(xué)概念上的集合操作,如交集、并集、補(bǔ)集和差集。集合是可變的,可以在其中添加或刪除項(xiàng)。集合用花括號(hào)“{}”括起來(lái),并用逗號(hào)“,”來(lái)分隔其中的項(xiàng)。

2、創(chuàng)建集合

可以使用花括號(hào)“{}”創(chuàng)建集合,集合會(huì)自動(dòng)去除重復(fù)的項(xiàng)。下面的集合包含了幾種用字符串表示的水果:

  1. >>> # 創(chuàng)建fruits集合時(shí),'apple'出現(xiàn)了兩次 
  2. >>> fruits = {'apple', 'banana', 'watermelon', 'strawberry', 'apple'} 
  3. >>> fruits  # 查看fruits集合,'apple'只有保留了一個(gè) 
  4. {'apple', 'strawberry', 'banana', 'watermelon'} 

與列表、元組、字典一樣,集合也可以用工廠函數(shù)set()來(lái)創(chuàng)建。set()函數(shù)的參數(shù)要么為空,要么為可迭代對(duì)象(如列表、元組和字符串):

  1. >>> fruits = set(['apple', 'banana', 'watermelon', 'strawberry', 'apple'])   # 以列表為參數(shù)創(chuàng)建集合 
  2. >>> fruits 
  3. {'apple', 'strawberry', 'banana', 'watermelon'} 
  4. >>> numbers = set((1, 2, 3, 3, 2, 4))   # 以元組為參數(shù)創(chuàng)建集合 
  5. >>> numbers 
  6. {1, 2, 3, 4} 
  7. >>> letters = set('banana')   # 以字符串為參數(shù)創(chuàng)建集合 
  8. >>> letters 
  9. {'b', 'a', 'n'} 

如果想要?jiǎng)?chuàng)建一個(gè)空集合,那么使用空的花括號(hào)“{}”是行不通的,因?yàn)檫@樣創(chuàng)建的是一個(gè)空字典:

  1. >>> empty = {} 
  2. >>> empty 
  3. {} 
  4. >>> type(empty) 
  5. <class 'dict'> 

創(chuàng)建空集合的唯一方式就是使用不包含任何參數(shù)的set()函數(shù):

  1. >>> empty = set() 
  2. >>> empty  # 空集合表示為set() 
  3. set() 
  4. >>> type(empty) 
  5. <class 'set'> 

3、集合添加項(xiàng)

集合是可變的數(shù)據(jù)類(lèi)型,在創(chuàng)建集合之后,可以使用集合的add()方法向其添加項(xiàng):

  1. >>> numbers = {1, 2, 3} 
  2. >>> numbers.add(4)   # 向numbers集合中添加整數(shù)4 
  3. >>> numbers 
  4. {1, 2, 3, 4} 
  5. >>> numbers.add('five')   # 向numbers集合中添加字符串'five' 
  6. >>> numbers 
  7. {1, 2, 3, 4, 'five'} 
  8. >>> numbers.add((5, 6, 7))   # 向numbers集合中添加元組(5, 6, 7) 
  9. >>> numbers 
  10. {1, 2, 3, 4, (5, 6, 7), 'five'} 

如果向某個(gè)集合中添加已經(jīng)存在的項(xiàng),那么什么也不會(huì)發(fā)生:

  1. >>> fruits = {'apple', 'strawberry', 'banana', 'watermelon'} 
  2. >>> fruits 
  3. {'banana', 'apple', 'watermelon', 'strawberry'} 
  4. >>> fruits.add('apple')   # 添加已經(jīng)存在的項(xiàng)'apple' 
  5. >>> fruits   # fruits集合并沒(méi)有改變 
  6. {'banana', 'apple', 'watermelon', 'strawberry'} 

也可以使用集合的update()方法向集合中添加項(xiàng),參數(shù)必須是可迭代對(duì)象,如列表、字符串或另一個(gè)集合。類(lèi)似于列表的append()方法和extend()方法,但區(qū)別是集合的update()方法總是會(huì)將可迭代對(duì)象“展開(kāi)”:

  1. >>> numbers = {1} 
  2. >>> numbers 
  3. {1} 
  4. >>> numbers.update((5, 6, 7)) 
  5. >>> numbers   # 可以看出update()方法和add()方法的區(qū)別 
  6. {1, 5, 6, 7} 
  7. >>> numbers.update({4, 5}, {6, 7, 8})   # 參數(shù)為兩個(gè)集合 
  8. >>> numbers 
  9. {1, 4, 5, 6, 7, 8} 

4、集合刪除項(xiàng)

可以使用集合的remove()方法刪除某個(gè)集合中的指定項(xiàng):

  1. >>> numbers = {1, 2, 3, 5, 7} 
  2. >>> numbers.remove(1) 
  3. >>> numbers 
  4. {2, 3, 5, 7} 
  5. >>> numbers.remove(3) 
  6. >>> numbers 
  7. {2, 5, 7} 

如果試圖刪除集合中不存在的項(xiàng),那么Python解釋器會(huì)報(bào)錯(cuò):

  1. >>> numbers = {1, 2, 3, 5, 7} 
  2. >>> numbers.remove(4) 
  3. Traceback (most recent call last): 
  4.   File "<stdin>", line 1, in <module> 
  5. KeyError: 4 

還可以使用集合的discard()方法來(lái)刪除項(xiàng),它和remove()方法唯一的區(qū)別是,當(dāng)試圖刪除不存在的項(xiàng)時(shí),discard()方法并不會(huì)報(bào)錯(cuò),而是什么也不會(huì)發(fā)生:

  1. >>> numbers = {1, 2, 3, 5, 7} 
  2. >>> numbers.discard(1) 
  3. >>> numbers 
  4. {2, 3, 5, 7} 
  5. >>> numbers.discard(3) 
  6. >>> numbers 
  7. {2, 5, 7} 
  8. >>> numbers.discard(4) 
  9. >>> numbers  # 什么也沒(méi)發(fā)生 
  10. {2, 5, 7} 

5、檢查某個(gè)項(xiàng)是否在集合中

集合的in操作符用于檢查指定項(xiàng)是否在集合中,not in操作符用于檢查指定項(xiàng)是否不在集合中:

  1. >>> numbers = {1, 2, 3, 5, 7} 
  2. >>> 1 in numbers   # 1在numbers集合中,返回True 
  3. True 
  4. >>> 3 in numbers   # 3在numbers集合中,返回True 
  5. True 
  6. >>> 4 in numbers   # 4不在numbers集合中,返回False 
  7. False 
  8. >>> 4 not in numbers   # not in是in的反向操作 
  9. True 

6、查看集合的長(zhǎng)度

集合的內(nèi)建函數(shù)len()用于查看集合的長(zhǎng)度,即集合中項(xiàng)的個(gè)數(shù):

  1. >>> empty = set() 
  2. >>> len(empty) 
  3. >>> numbers = {1, 2, 3, 5, 7} 
  4. >>> len(numbers) 

 

文章“【Python基礎(chǔ)知識(shí)】Python集合”已幫助

>>本文地址:http://uj2y2uok.com/zhuanye/2020/55734.html

THE END  

聲明:本站稿件版權(quán)均屬中公教育優(yōu)就業(yè)所有,未經(jīng)許可不得擅自轉(zhuǎn)載。

1 您的年齡

2 您的學(xué)歷

3 您更想做哪個(gè)方向的工作?

獲取測(cè)試結(jié)果
  • 大前端大前端
  • 大數(shù)據(jù)大數(shù)據(jù)
  • 互聯(lián)網(wǎng)營(yíng)銷(xiāo)互聯(lián)網(wǎng)營(yíng)銷(xiāo)
  • JavaJava
  • Linux云計(jì)算Linux
  • Python+人工智能Python
  • 嵌入式物聯(lián)網(wǎng)嵌入式
  • 全域電商運(yùn)營(yíng)全域電商運(yùn)營(yíng)
  • 軟件測(cè)試軟件測(cè)試
  • 室內(nèi)設(shè)計(jì)室內(nèi)設(shè)計(jì)
  • 平面設(shè)計(jì)平面設(shè)計(jì)
  • 電商設(shè)計(jì)電商設(shè)計(jì)
  • 網(wǎng)頁(yè)設(shè)計(jì)網(wǎng)頁(yè)設(shè)計(jì)
  • 全鏈路UI/UE設(shè)計(jì)UI設(shè)計(jì)
  • VR/AR游戲開(kāi)發(fā)VR/AR
  • 網(wǎng)絡(luò)安全網(wǎng)絡(luò)安全
  • 新媒體與短視頻運(yùn)營(yíng)新媒體
  • 直播帶貨直播帶貨
  • 智能機(jī)器人軟件開(kāi)發(fā)智能機(jī)器人
 

快速通道fast track

近期開(kāi)班時(shí)間TIME