教你python中什么是集合(一)
今天馬哥教育要跟大家分享的文章是教你Python中什么是集合(一)?熟悉Python的小伙伴們都知道集合是通過set(iterable)方法創建,Python入門新手和正Python學習的小伙伴快來看一看吧,希望能夠對大家有所幫助 !
1、創建集合
集合的創建不同于前兩種數據結構。
集合通過set(iterable)方法創建,參數iterable為可迭代對象。
示例代碼:
s1 = set('好好學習天天想上') # 將字符串分解為單個字符,作為集合的元素創建集合 s2 = set(('好好', '學習', '天天', '想上')) # 將元組分解為單個元素,作為集合元素創建集合 s3 = set(['好好', '學習', '天天', '想上']) # 將列表分解為單個元素,作為集合元素創建集合 print (s1) # 顯示輸出結果為:{'好', '習', '上', '天', '想', '學'} print (s2) # 顯示輸出結果為:{'好好', '想上', '學習', '天天'} print (s3) # 顯示輸出結果為:{'好好', '想上', '學習', '天天'}
通過上方示例,大家能夠看出:
1)集合可以通過可迭代對象(字符串、元組、列表等)進行創建;
2)集合中的元素不可重復;
3)集合中的元素無序排列。
2、添加元素
集合添加元素的方法有兩種。
添加單個元素:使用add(element)函數,參數element為集合允許添加的元素(例如數字、字符串、元組等)。
添加多個元素:使用update(iterable)函數,參數iterable為可迭代對象。
示例代碼:
# 創建集合 s1 = set('123') s2 = set('123') s3 = set('abc') # 添加單個元素 s1.add('4') # 添加多個元素 s2.update(['4','5','6']) # 添加列表到集合,列表元素會被分解為單個元素后添加到集合 s3.update('de') # 添加字符串到集合,字符串會被分解為單個元素后添加到集合 # 顯示輸出 print (s1) # 顯示輸出結果為:{'4', '3', '1', '2'} print (s2) # 顯示輸出結果為:{'4', '2', '6', '5', '3', '1'} print (s3) # 顯示輸出結果為:{'c', 'b', 'd', 'e', 'a'} #注意:因為集合元素是無序的,大家在測試以上代碼時,顯示輸出的結果與上方結果,可能在順序上不一致。
3、刪除元素
集合刪除元素的方法有兩種。
第一種:使用remove(element)方法刪除指定元素,參數element為需要刪除的元素。
第二種:使用discard(element)方法刪除指定元素,參數element為需要刪除的元素。
示例代碼:
# 創建集合 s1 = set(['Python','Java','C','C++','C#']) s2 = set(['Python','Java','C','C++','C#']) # 刪除元素 s1.remove('C++') s2.discard('C++') # 顯示輸出 print (s1) # 顯示輸出結果為:{'C', 'Python', 'Java', 'C#'} print (s2) # 顯示輸出結果為:{'C', 'Python', 'Java', 'C#'}
從上方示例中,大家能夠看到remove()和discard()的作用是一樣的。
不過,這兩個方法是有區別的。
當集合中不存在這兩個方法參數中填入的元素時,remove()方法會拋出異常,而discard()方法則沒有任何影響。
4、取出元素
集合支持pop()方法取出元素。
示例代碼:
# 創建集合 s = set(['Python','Java','C','C++','C#']) # 顯示輸出 print (s) # 顯示輸出結果為:{'Python', 'C#', 'C++', 'Java', 'C'} print (s.pop()) # 取出集合元素,顯示輸出結果為:Python print (s) # 顯示輸出結果為:{'C#', 'C++', 'Java', 'C'}
5、清空集合
集合支持clear()方法進行清空。
示例代碼:
# 創建集合 s = set(['Python','Java','C','C++','C#'])
# 清空集合 s.clear()
# 顯示輸出 print (s)
# 顯示輸出結果為:set()
以上就是馬哥教育今天為大家分享的關于教你Python中什么是集合(一)的文章,希望本篇文章能夠對正在從事Python相關工作的小伙伴們有所幫助,想要了解更多相關知識記得關注馬哥教育官網,每天都會有大量優質內容與大家分享!