Python之資料結構:集合

來源:互聯網
上載者:User

標籤:car   實值型別   abc   att   int   python   建立   迭代   異常   

一、set集合1、集合是一個無序不重複元素集,有去重的作用set集合類需要的參數必須是迭代器類型的,如:序列、字典等,然後轉換成無序不重複的元素集。由於集合是不重複的,所以可以對字串、列表、元組進行去重操作。(1)建立s1=set(‘This is string‘) ([])set1=set(‘python‘) 結果:set([‘h‘, ‘o‘, ‘n‘, ‘p‘, ‘t‘, ‘y‘])s2=set([1,2,3])s3=set((1,2,3,4,3,2)) set([1,2,3,4])s4=set({1:2,2:3,6:6}) 字典只會把key值列表(相當於dict.keys()傳回值)賦值給set set([1,2,6])注意數實值型別不能作為集合的參數,如int類型。(2)添加元素add() 把元素作為整體添加update() 把元素中的子項目一個個添加s2.add(‘abc‘) set([1,2,3,‘abc‘])s2.update(‘abc‘) set([‘a‘,1,2,3,‘b‘,‘c‘])(3)刪除元素a、remove()s2.remove(‘c‘) set ([‘a‘,1,2,3,‘b‘])如果‘c‘不存在,會拋出異常b、discard(value)s2.discard(3)c、pop()s2.pop() 確保集合有元素,刪除的元素不確定是哪個。如果為空白引發KeyError錯誤(4)遍曆集合for i in s2:print i(5)枚舉enumerate()for index,elem in enumerate(2):print index,‘:‘,elem類型轉化:str(s2)list(s2)tuple(s2)(6)清空集合s1.clear()(7)複製集合s6=s2.copy()(8)結合的長度len(s2) 2、集合的特殊操作(1)交集、並集、差集s1=set([1,2,3])s2=set([2,3,4,5])s3=s1 & s2 交集 set([2,3])s4=s1 | s2 並集 set([1,2,3,4,5])s5=s1-s2 差集 在s1中但不在s2中 set([1])s6=s1.difference(s2) s6的結果 set([1]) 同s5 (2) > 、>= < <= !=print s1>=s2 (3)issupperset()父集s11=set([1,2])print s1.issupperset(s11) Ture s1是否為s11的父集print s1.issupperset(s2) Falseissubset() 子集s1.issubset(s2) s1是否為s2的子集 (4)in 和not in 成員運算子if s1 in s2:3、不可變集合 frozenset()fs=frozenset([1,2,3])如果試圖改變不可變集合中的元素,就會報AttributeError錯誤。

Python之資料結構:集合

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.