- Python入門很輕松(微課超值版)
- 云尚科技
- 1074字
- 2020-09-01 15:58:02
4.2 集合類型

微視頻
本節重點講解集合類型的概念和基本操作。
4.2.1 認識集合類型
集合(Sets)是一個無序不重復元素的集。它的主要功能是自動清除重復的元素。創建集合時用大括號({})來包含其元素。
例如下面的代碼運行結果:
>>>books = {'Python 入門很輕松', 'C 語言入門很輕松','Java 入門很輕松'} >>>print(books) #輸出集合的內容 {'Python 入門很輕松', 'Java 入門很輕松', 'C 語言入門很輕松'}
從結果可以看出,集合輸出是無序的,并沒有按賦值時的順序輸出。
如果集合中有重復的元素,就會自動將其刪除。
例如下面的代碼及運行結果:
>>>books = {'Python 入門很輕松', 'C 語言入門很輕松','Python 入門很輕松'} >>>print(goods) #刪除重復的 {'Python 入門很輕松','C 語言入門很輕松'}
☆大牛提醒☆
如果要創建一個空集合,必須使用set()函數。例如:
books = set() #正確創建空集合的方式 books = { } #錯誤創建空集合的方式
4.2.2 集合類型的常見操作
集合類型的常見操作有添加元素、移除元素、計算集合元素個數、清空集合。
1.添加元素
添加元素的語法格式如下:
s.add( x )
將元素x添加到集合s中,如果元素已存在,則不進行任何操作。
例如下面的代碼及運行結果:
>>>fruits = {"蘋果", "香蕉", "橘子"} >>>fruits.add("荔枝") #添加新元素 >>>fruits {'蘋果', '香蕉', '荔枝', '橘子'} >>>fruits.add("蘋果") #添加集合中已經存在的元素 >>>fruits {'蘋果', '香蕉', '荔枝', '橘子'}
2.移除元素
移除元素的語法格式如下:
s.remove( x )
將元素x從集合s中移除,如果元素不存在,則會發生錯誤。
例如下面的代碼及運行結果:
>>>fruits = {"蘋果", "香蕉", "橘子"} >>>fruits.remove("蘋果") #移除元素 >>>fruits {'香蕉', '橘子'} >>>fruits.remove("蘋果") #移除不存在的元素,將會報錯 Traceback (most recent call last): File "<pyshell#21>", line 1, in <module> fruits.remove("蘋果") KeyError: '蘋果'
3.計算集合元素個數
計算集合元素個數的語法格式如下:
len(s)
這里是計算集合s元素個數。
例如下面的代碼及運行結果:
>>>fruits = {"蘋果", "香蕉", "橘子"} >>>len(fruits) 3
4.清空集合
清空集合的語法格式如下:
s.clear()
這里是清空集合s。
>>>fruits = {"蘋果", "香蕉", "橘子"} >>>fruits.clear() >>>fruits set()
【例4.1】創建公司各部門的人員信息,并進行更改和運算(源代碼\ch04\4.1.py)。
print ("歡迎進入企業人員查詢系統") sales = {"張鋒", "張磊", "王天", "馮永"} #報存營銷部的人員 admini = {"王天", "馮永", "張淼", "蔡玲"} #報存管理部的人員 print ("營銷部的人員有:", sales, "\n") #輸出營銷部的人員 print ("管理部的人員有:", admini, "\n") #輸出管理部的人員 print ("交集運算:", sales&admini, "\n") #輸出既在營銷部又在管理部的人員 print ("并集運算:", sales|admini, "\n") #輸出營銷部和管理部的所有人員 print ("差集運算:", sales-admini, "\n") #輸出營銷部但不在管理部的人員 sales.add("張小龍") #營銷部添加新人 admini.remove("王天") #管理部有人離職 print ("最新營銷部的人員有:", sales, "\n") #輸出營銷部更改后的人員 print ("最新管理部的人員有:", admini, "\n") #輸出管理部更改后的人員
程序運行結果如圖4-1所示。

圖4-1 例4.1的程序運行結果
推薦閱讀
- ExtGWT Rich Internet Application Cookbook
- 自己動手寫搜索引擎
- R語言數據分析從入門到精通
- 人臉識別原理及算法:動態人臉識別系統研究
- 單片機應用技術
- Eclipse Plug-in Development:Beginner's Guide(Second Edition)
- R語言與網絡輿情處理
- Active Directory with PowerShell
- Lighttpd源碼分析
- Cocos2d-x by Example:Beginner's Guide(Second Edition)
- 網絡數據采集技術:Java網絡爬蟲實戰
- 現代C:概念剖析和編程實踐
- Python深度學習與項目實戰
- Python程序設計現代方法
- KnockoutJS Blueprints