最近在整理Python基礎語法部分的筆記,準備邊整理邊分享。本篇是關於集合set{ }的筆記。
Python常用的8種經典數據結構:
set_0 = set('abcdeffrd1234123') set_1 = {'大','小','點','多'} set_2 = set(('Hello','World')) print('集合',set_0,'\n顯示該數據結構類型結構',type(set_0), '\n集合2',set_1,'\n集合3',set_2)集合 {'b', '4', '1', 'c', 'e', 'r', 'd', 'a', '3', 'f', '2'} 顯示該數據結構類型結構 <class 'set'> 集合2 {'多', '大', '小', '點'} 集合3 {'World', 'Hello'}集合的查詢。使用in可以判斷a是否在集合中,若存在為True,反之為Falseprint(set_0)print('s' in set_0)print('s' not in set_0){'b', '4', '1', 'c', 'e', 'r', 'd', 'a', '3', 'f', '2'}FalseTrueadd()函數可以在集合對象中加入新元素,但若元素已經存在,則無效果。update表示添加(並非修改),是遍歷輸入的每一個元素、逐一添加,並且按照順序添加進集合。print(set_1)set_1.add('C')print('add()後的集合',set_1)set_1.update('zfy'){'多', '大', '小', '點'}add()後的集合 {'小', '多', '大', 'C', '點'}update()後的集合 {'小', 'z', 'y', '多', '大', 'f', 'C', '點'}remove()函數可以將集合中的元素刪除。如果元素不存在,產生KeyError異常。discard()函數可以刪除集合中指定元素,且使元素不存在也不報錯。pop()可以隨機刪除集合中的一個元素(在交互模式下刪除最後一個元素),更新S,若S為空則產生KeyError異常。print(set_0)set_0.remove('d')print('刪除指定元素後的集合',set_0)set_0.discard('x')print('刪除不存在',set_0) set_0.pop()print('隨機刪除元素的集合',set_0)set_0.clear()print('刪除所有元素後的集合',set_0){'d', 'f', '3', '2', '4', 'a', 'e', 'c', '1', 'r', 'b'}刪除指定元素後的集合 {'f', '3', '2', '4', 'a', 'e', 'c', '1', 'r', 'b'}刪除不存在 {'f', '3', '2', '4', 'a', 'e', 'c', '1', 'r', 'b'}隨機刪除元素的集合 {'3', '2', '4', 'a', 'e', 'c', '1', 'r', 'b'}刪除所有元素後的集合 set()copy()可以複製集合中的元素並生成一個新的集合copy_set_1 = set_1.copy()print('\nlen()返回集合的長度',len(copy_set_1), '\ncopy()生成的集合',copy_set_1)len()返回集合的長度 8 copy()生成的集合 {'z', '小', '點', 'C', 'f', '多', 'y', '大'}a = set('apple')b = set('banana')c = {1,2,3}d = {1,2,3,4}e = {1,2,3}print('\n求差集',a-b, '\n求交集',a&b, '\n求併集',a|b, '\n求併集減去交集',a^b, '\n判斷c是否為d的真子集',c<d, '\n判斷c與e是否相等',c==e, '\n判斷c是否為e的子集',c<=e)求差集 {'e', 'l', 'p'} 求交集 {'a'} 求併集 {'e', 'b', 'l', 'a', 'p', 'n'} 求併集減去交集 {'b', 'n', 'e', 'l', 'p'} 判斷c是否為d的真子集 True 判斷c與e是否相等 True 判斷c是否為e的子集 True[1]董付國.Python程序設計基礎(第二版)[M].北京:清華大學出版社,2015:42-59[2]劉經緯,陳佳明.創新創業+新工科教學質量提升研究——零基礎學會Python人工智慧[M].北京:首都經濟貿易大學出版社,2020:25-26[3]嵩天.PYE6.1-集合類型及操作v2.5[Z].2020[4]葉維忠.Python編程從入門到精通[M].北京:人民郵電出版社,2018:100-101