• <menu id="wosog"><strong id="wosog"></strong></menu>
  • <nav id="wosog"></nav>
  • <menu id="wosog"></menu>
    400-650-7353

    精品課程

    您所在的位置:首頁 > IT干貨資料 > python > 【Python基礎知識】Python集合

    【Python基礎知識】Python集合

    • 發布: python培訓
    • 來源:python干貨資料
    • 2020-09-18 14:15:52
    • 閱讀()
    • 分享
    • 手機端入口

    1、集合概念

    Python中的集合,是一個無序的、沒有重復項的集。它支持數學概念上的集合操作,如交集、并集、補集和差集。集合是可變的,可以在其中添加或刪除項。集合用花括號“{}”括起來,并用逗號“,”來分隔其中的項。

    2、創建集合

    可以使用花括號“{}”創建集合,集合會自動去除重復的項。下面的集合包含了幾種用字符串表示的水果:

    1. >>> # 創建fruits集合時,'apple'出現了兩次 
    2. >>> fruits = {'apple', 'banana', 'watermelon', 'strawberry', 'apple'} 
    3. >>> fruits  # 查看fruits集合,'apple'只有保留了一個 
    4. {'apple', 'strawberry', 'banana', 'watermelon'} 

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

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

    如果想要創建一個空集合,那么使用空的花括號“{}”是行不通的,因為這樣創建的是一個空字典:

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

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

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

    3、集合添加項

    集合是可變的數據類型,在創建集合之后,可以使用集合的add()方法向其添加項:

    1. >>> numbers = {1, 2, 3} 
    2. >>> numbers.add(4)   # 向numbers集合中添加整數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'} 

    如果向某個集合中添加已經存在的項,那么什么也不會發生:

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

    也可以使用集合的update()方法向集合中添加項,參數必須是可迭代對象,如列表、字符串或另一個集合。類似于列表的append()方法和extend()方法,但區別是集合的update()方法總是會將可迭代對象“展開”:

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

    4、集合刪除項

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

    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} 

    如果試圖刪除集合中不存在的項,那么Python解釋器會報錯:

    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()方法來刪除項,它和remove()方法唯一的區別是,當試圖刪除不存在的項時,discard()方法并不會報錯,而是什么也不會發生:

    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  # 什么也沒發生 
    10. {2, 5, 7} 

    5、檢查某個項是否在集合中

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

    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、查看集合的長度

    集合的內建函數len()用于查看集合的長度,即集合中項的個數:

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

     

    課程好禮申請領取
    您的姓名
    您的電話
    意向課程
     

    中公優就業

    官方QQ

    掃描上方二維碼或點擊一鍵加群,免費領取價值599元網課,加群暗號:599。 一鍵加群

    >>本文地址:
    注:本站稿件未經許可不得轉載,轉載請保留出處及源文件地址。

    推薦閱讀

    優就業:ujiuye

    關注中公優就業官方微信

    • 關注微信回復關鍵詞“大禮包”,領80G學習資料
    QQ交流群
    領取免費網課
    (加群備注“網站”)
    IT培訓交流群 加入群聊 +
    軟件測試 加入群聊 +
    全鏈路UI/UE設計 加入群聊 +
    Python+人工智能 加入群聊 +
    互聯網營銷 加入群聊 +
    Java開發 加入群聊 +
    PHP開發 加入群聊 +
    VR/AR游戲開發 加入群聊 +
    大前端 加入群聊 +
    大數據 加入群聊 +
    Linux云計算 加入群聊 +
    優就業官方微信
    掃碼回復關鍵詞“大禮包”
    領取80G學習資料

    巨劃算
    現在開通
    2020OAO訓練營
    免費試聽
    課程資料、活動優惠 領取通道
     
     
  • <menu id="wosog"><strong id="wosog"></strong></menu>
  • <nav id="wosog"></nav>
  • <menu id="wosog"></menu>
    线上棋牌平台