实战IT培训机构_黄色激情网站_IT培训班选大学生IT技术培训中心_黄色激情视频网站_中公优就业

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

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

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

1、集合概念

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

2、創(chuàng)建集合

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

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

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

  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'} 

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

  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、集合添加項

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

  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'} 

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

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

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

  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ù)為兩個集合 
  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()方法唯一的區(qū)別是,當試圖刪除不存在的項時,discard()方法并不會報錯,而是什么也不會發(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  # 什么也沒發(fā)生 
  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、查看集合的長度

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

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

 

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

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

THE END  

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

1 您的年齡

2 您的學歷

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

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

快速通道fast track

近期開班時間TIME

主站蜘蛛池模板: 带压开孔_带压堵漏_带压封堵-菏泽金升管道工程有限公司 | PTFE接头|聚四氟乙烯螺丝|阀门|薄膜|消解罐|聚四氟乙烯球-嘉兴市方圆氟塑制品有限公司 | 隧道风机_DWEX边墙风机_SDS射流风机-绍兴市上虞科瑞风机有限公司 | 卓能JOINTLEAN端子连接器厂家-专业提供PCB接线端子|轨道式端子|重载连接器|欧式连接器等电气连接产品和服务 | nalgene洗瓶,nalgene量筒,nalgene窄口瓶,nalgene放水口大瓶,浙江省nalgene代理-杭州雷琪实验器材有限公司 | 仓储货架_南京货架_钢制托盘_仓储笼_隔离网_环球零件盒_诺力液压车_货架-南京一品仓储设备制造公司 | 温控器生产厂家-提供温度开关/热保护器定制与批发-惠州市华恺威电子科技有限公司 | SPC工作站-连杆综合检具-表盘气动量仪-内孔缺陷检测仪-杭州朗多检测仪器有限公司 | 3dmax渲染-效果图渲染-影视动画渲染-北京快渲科技有限公司 | 喷漆房_废气处理设备-湖北天地鑫环保设备有限公司 | 纸张环压仪-纸张平滑度仪-杭州纸邦自动化技术有限公司 | 中央空调温控器_风机盘管温控器_智能_液晶_三速开关面板-中央空调温控器厂家 | 石家庄网站建设|石家庄网站制作|石家庄小程序开发|石家庄微信开发|网站建设公司|网站制作公司|微信小程序开发|手机APP开发|软件开发 | PU树脂_水性聚氨酯树脂_聚氨酯固化剂_聚氨酯树脂厂家_宝景化工 | 富森高压水枪-柴油驱动-养殖场高压清洗机-山东龙腾环保科技有限公司 | 电磁流量计厂家_涡街流量计厂家_热式气体流量计-青天伟业仪器仪表有限公司 | 冷油器,取样冷却器,热力除氧器-连云港振辉机械设备有限公司 | 拉力测试机|材料拉伸试验机|电子拉力机价格|万能试验机厂家|苏州皖仪实验仪器有限公司 | 工业铝型材生产厂家_铝合金型材配件批发精加工定制厂商 - 上海岐易铝业 | 河南包装袋厂家_河南真空袋批发价格_河南服装袋定制-恒源达包装制品 | 大型多片锯,圆木多片锯,方木多片锯,板材多片锯-祥富机械有限公司 | 春腾云财 - 为企业提供专业财税咨询、代理记账服务 | 南京交通事故律师-专打交通事故的南京律师| 安全,主动,被动,柔性,山体滑坡,sns,钢丝绳,边坡,防护网,护栏网,围栏,栏杆,栅栏,厂家 - 护栏网防护网生产厂家 | 北京租车公司_汽车/客车/班车/大巴车租赁_商务会议/展会用车/旅游大巴出租_北京桐顺创业租车公司 | 涡街流量计_LUGB智能管道式高温防爆蒸汽温压补偿计量表-江苏凯铭仪表有限公司 | 隐形纱窗|防护纱窗|金刚网防盗纱窗|韦柏纱窗|上海青木装潢制品有限公司|纱窗国标起草单位 | 培训一点通 - 合肥驾校 - 合肥新亚驾校 - 合肥八一驾校 | 神超官网_焊接圆锯片_高速钢锯片_硬质合金锯片_浙江神超锯业制造有限公司 | 武汉宣传片制作-视频拍摄-企业宣传片公司-武汉红年影视 | 美侍宠物-专注宠物狗及宠物猫训练|喂养|医疗|繁育|品种|价格 | 高精度电阻回路测试仪-回路直流电阻测试仪-武汉特高压电力科技有限公司 | 温泉机设备|温泉小镇规划设计|碳酸泉设备 - 大连连邦温泉科技 | 广州冷却塔维修厂家_冷却塔修理_凉水塔风机电机填料抢修-广东康明节能空调有限公司 | 北京翻译公司-专业合同翻译-医学标书翻译收费标准-慕迪灵 | 重庆磨床过滤机,重庆纸带过滤机,机床伸缩钣金,重庆机床钣金护罩-重庆达鸿兴精密机械制造有限公司 | 磁粉制动器|张力控制器|气胀轴|伺服纠偏控制器整套厂家--台灵机电官网 | 破碎机锤头_合金耐磨锤头_郑州宇耐机械工程技术有限公司 | 翅片管换热器「型号全」_厂家-淄博鑫科环保 | 中宏网-今日新闻-财经新闻| 酒水灌装机-白酒灌装机-酒精果酒酱油醋灌装设备_青州惠联灌装机械 |