Python基础教程:set集合的教程
生活随笔
收集整理的這篇文章主要介紹了
Python基础教程:set集合的教程
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
一、集合類型
集合是一組無序排列的可哈希的值(可哈希的值->不可變),集合成員可以做字典中的鍵。但集合本身是不可哈希的。
集合是無序沒有索引,也沒有像字典的key,所以集合不能更改元素。只能增刪查(print、for循環)
集合的作用:
- 去重復元素
- 關系測試:交集、并集、差集、反交集、超集
二、集合的操作
1.集合的創建
#set 的創建 set1 = set('abcde') #def __init__(self, seq=()): 接受一個可迭代對象 set2 = {1,2,7,3,8,4,5,6} #直接賦值 print(set1) print(set2)2.去重
#利用set去重 li = [2,4,1,3,4,5,6,7,3,3] set1 = set(li) li = list(set1)print(li)3.集合的增
3.1添加一個元素方法
''' 學習中遇到問題沒人解答?小編創建了一個Python學習交流QQ群:531509025 尋找有志同道合的小伙伴,互幫互助,群里還有不錯的視頻學習教程和PDF電子書! ''' #添加一個元素使用set.add() set1 = {1,2,7,3,8,4,5,6} set1.add('a') #Add an element to a set. print(set1) #{1, 2, 3, 4, 5, 6, 7, 8, 'a'}3.2迭代添加元素.接受一個可迭代對象,字符串、元組、列表、字典
#迭代添加 s1 = '中國' set1 = {1,2,7,3,8,4,5,6} set1.update(s1) #接受一個可迭代對象。把每個元素拆開,添加到set中 print(set1)4.集合的刪
4.1刪除一個元素從set中
#刪除一個元素從set中 set1 = {1,2,7,3,8,4,5,6,'a'} set1.remove('a') #Remove an element from a set print(set1)4.2隨機刪除元素
#隨機刪,并返回被刪除元素 set1 = {1,2,7,3,8,4,5,6,'a'} set2 = set1.pop() #Remove and return an arbitrary set element.print(set2) print(set1)5.集合的其他操作
''' 學習中遇到問題沒人解答?小編創建了一個Python學習交流QQ群:531509025 尋找有志同道合的小伙伴,互幫互助,群里還有不錯的視頻學習教程和PDF電子書! ''' #1.print打印 set1 = {1,2,7,3,8,4,5,6,'a'} print(set1)#2.for循環 for i in set1:print(i)#3.in not in print('a' in set1)#4.len()獲取長度 print('集合長度:%d'%(len(set1)))三、關系測試
交集
交集使用 & 或 intersection()
set1 = {1,2,3,4,5,6,7} set2 = {3,4,5,6,7,8,9} set3 = set1 & set2 set3 = set1.intersection(set2) print(set3) #{3, 4, 5, 6, 7}并集
并集: | 或者 union
set1 = {1,2,3,4,5,6,7}set2 = {3,4,5,6,7,8,9}set3 = set1 | set2set3 = set1.union(set2)print(set3) #{1, 2, 3, 4, 5, 6, 7, 8, 9}差集
差集:兩者各自特有的部分。使用 - 或者 difference()
''' 學習中遇到問題沒人解答?小編創建了一個Python學習交流QQ群:531509025 尋找有志同道合的小伙伴,互幫互助,群里還有不錯的視頻學習教程和PDF電子書! ''' #差集 : 兩者做差,求各自特有的部分;該集合中的元素,只屬于某一個集合,不屬于另外那個集合 set1 = {1,2,3,4,5,6,7} set2 = {3,4,5,6,7,8,9}#兩種方式 - 或者 difference set3 = set1 - set2 #兩者做差,求各自特有的部分 set4 = set2 - set1 #兩者做差,求各自特有的部分 set3 = set1.difference(set2) set4 = set2.difference(set1)print(set3)#{1, 2} #set1特有的部分 print(set4)#{8, 9} #set2 特有的部分反交集
反交集:^ 或者 symmetric_difference();該集合元素只能屬于set1或者set2,不能同時set1又屬于set2兩個集合。->拋去兩個集合相交的部分,把兩者剩余的組成一個新集合。
#反交集:拋去他倆相同的部分,再組成一個新集合 set1 = {1,2,3,4,5,6,7} set2 = {3,4,5,6,7,8,9}set3 = set1 ^ set2 set3 = set1.symmetric_difference(set2)print(set3) #{1, 2, 8, 9} 1,2是set1特有,8,9是set2特有子集與超集
#子集與超集 : 檢測某個集合是否是其他集合的超集或子集 #成立條件:set2必須得包含set1,并且含有set1沒有的元素。set1不含有set2中的元素 set1 = {1,2,3,4,5,6,7} set2 = {3,4,5,6,7,8,9} set3 = {4,3}print(set2.issuperset(set1)) #False >= print(set1.issuperset(set2)) #False print(set2.issuperset(set3)) #True print(set3.issubset(set2)) #True <= set3是set2的子集總結
以上是生活随笔為你收集整理的Python基础教程:set集合的教程的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Python函数名的本质,你有了解过嘛?
- 下一篇: 针对Python中冒号的详细解释