实战IT培训机构_IT培训班选大学生IT技术培训中心_中公优就业

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) 

 

文章“【Python基礎知識】Python集合”已幫助

>>本文地址:http://www.jecan.cn/zhuanye/2020/55734.html

THE END  

聲明:本站稿件版權均屬中公教育優就業所有,未經許可不得擅自轉載。

1 您的年齡

2 您的學歷

3 您更想做哪個方向的工作?

獲取測試結果
  • 大前端大前端
  • 大數據大數據
  • 互聯網營銷互聯網營銷
  • JavaJava
  • Linux云計算Linux
  • Python+人工智能Python
  • 嵌入式物聯網嵌入式
  • 全域電商運營全域電商運營
  • 軟件測試軟件測試
  • 室內設計室內設計
  • 平面設計平面設計
  • 電商設計電商設計
  • 網頁設計網頁設計
  • 全鏈路UI/UE設計UI設計
  • VR/AR游戲開發VR/AR
  • 網絡安全網絡安全
  • 新媒體與短視頻運營新媒體
  • 直播帶貨直播帶貨
  • 智能機器人軟件開發智能機器人
 

快速通道fast track

近期開班時間TIME

主站蜘蛛池模板: 冷却塔厂家_冷却塔维修_冷却塔改造_凉水塔配件填料公司- 广东康明节能空调有限公司 | 混合气体腐蚀试验箱_盐雾/硫化氢/气体腐蚀试验箱厂家-北京中科博达 | 吸污车_吸粪车_抽粪车_电动三轮吸粪车_真空吸污车_高压清洗吸污车-远大汽车制造有限公司 | 陶瓷砂磨机,盘式砂磨机,棒销式砂磨机-无锡市少宏粉体科技有限公司 | 房车价格_依维柯/大通/东风御风/福特全顺/江铃图片_云梯搬家车厂家-程力专用汽车股份有限公司 | 滁州高低温冲击试验箱厂家_安徽高低温试验箱价格|安徽希尔伯特 | 恒温水槽与水浴锅-上海熙浩实业有限公司 | 低合金板|安阳低合金板|河南低合金板|高强度板|桥梁板_安阳润兴 北京租车牌|京牌指标租赁|小客车指标出租 | 超细|超微气流粉碎机|气流磨|气流分级机|粉体改性机|磨粉机|粉碎设备-山东埃尔派粉体科技 | 基业箱_环网柜_配电柜厂家_开关柜厂家_开关断路器-东莞基业电气设备有限公司 | 隐形纱窗|防护纱窗|金刚网防盗纱窗|韦柏纱窗|上海青木装潢制品有限公司|纱窗国标起草单位 | 工业硝酸钠,硝酸钠厂家-淄博「文海工贸」 | 双能x射线骨密度检测仪_dxa骨密度仪_双能x线骨密度仪_品牌厂家【品源医疗】 | 沥青灌缝机_路面灌缝机_道路灌缝机_沥青灌缝机厂家_济宁萨奥机械有限公司 | 开云(中国)Kaiyun·官方网站 - 登录入口 | 硫化罐-胶管硫化罐-山东鑫泰鑫智能装备有限公司 | 陕西华春网络科技股份有限公司 | 自进式锚杆-自钻式中空注浆锚杆-洛阳恒诺锚固锚杆生产厂家 | 绿叶|绿叶投资|健康产业_绿叶投资集团有限公司 | 外贸网站建设-外贸网站设计制作开发公司-外贸独立站建设【企术】 | 示波器高压差分探头-国产电流探头厂家-南京桑润斯电子科技有限公司 | 东莞韩创-专业绝缘骨架|马达塑胶零件|塑胶电机配件|塑封电机骨架厂家 | 送料机_高速冲床送料机_NC伺服滚轮送料机厂家-东莞市久谐自动化设备有限公司 | 郑州宣传片拍摄-TVC广告片拍摄-微电影短视频制作-河南优柿文化传媒有限公司 | 智能门锁电机_智能门锁离合器_智能门锁电机厂家-温州劲力智能科技有限公司 | 心肺复苏模拟人|医学模型|急救护理模型|医学教学模型上海康人医学仪器设备有限公司 | 透平油真空滤油机-变压器油板框滤油机-滤油车-华之源过滤设备 | 中高频感应加热设备|高频淬火设备|超音频感应加热电源|不锈钢管光亮退火机|真空管烤消设备 - 郑州蓝硕工业炉设备有限公司 | 家乐事净水器官网-净水器厂家「官方」| 精密钢管,冷拔精密无缝钢管,精密钢管厂,精密钢管制造厂家,精密钢管生产厂家,山东精密钢管厂家 | 莱州网络公司|莱州网站建设|莱州网站优化|莱州阿里巴巴-莱州唯佳网络科技有限公司 | NMRV减速机|铝合金减速机|蜗轮蜗杆减速机|NMRV减速机厂家-东莞市台机减速机有限公司 | 土壤检测仪器_行星式球磨仪_土壤团粒分析仪厂家_山东莱恩德智能科技有限公司 | 湖北省煤炭供应链综合服务平台| MTK核心板|MTK开发板|MTK模块|4G核心板|4G模块|5G核心板|5G模块|安卓核心板|安卓模块|高通核心板-深圳市新移科技有限公司 | 广州展览制作工厂—[优简]直营展台制作工厂_展会搭建资质齐全 | 河南道路标志牌_交通路标牌_交通标志牌厂家-郑州路畅交通 | 间苯二酚,间苯二酚厂家-淄博双和化工| 液氮罐_液氮容器_自增压液氮罐_杜瓦瓶_班德液氮罐厂家 | 丹尼克尔拧紧枪_自动送钉机_智能电批_柔性振动盘_螺丝供料器品牌 | 郑州大巴车出租|中巴车租赁|旅游大巴租车|包车|郑州旅游大巴车租赁有限公司 |