Python3 集合(set)(十五),python3集合set

來源:互聯網
上載者:User

Python3 集合(set)(十五),python3集合set

集合(set)是一個無序不重複元素的序列。

它的主要作用如下:

  • 去重,把一個列表變成集合,就自動去重了
  • 關係測試,測試兩組資料之前的交集、差集、並集等關係

set和dict類似,也是一組key的集合,但不儲存value。由於key不能重複,所以,在set中,沒有重複的key

可以使用大括弧 { } 或者 set() 函數建立集合,注意:建立一個空集合必須用 set() 而不是 { },因為 { } 是用來建立一個空字典。

建立格式:

1 parame = {value01,value02,...}2 或者3 set(value)

 例:

 1 #!/usr/bin/python3 2   3 student = {'Tom', 'Jim', 'Mary', 'Tom', 'Jack', 'Rose'} 4   5 print(student)   # 輸出集合,重複的元素被自動去掉 6   7 # 成員測試 8 if('Rose' in student) : 9     print('Rose 在集合中')10 else :11     print('Rose 不在集合中')12  13  14 # set可以進行集合運算15 a = set('abracadabra')16 b = set('alacazam')17  18 print(a)19  20 print(a - b)     # a和b的差集21  22 print(a | b)     # a和b的並集23  24 print(a & b)     # a和b的交集25  26 print(a ^ b)     # a和b中不同時存在的元素

以上執行個體輸出結果:

1 {'Mary', 'Jim', 'Rose', 'Jack', 'Tom'}2 Rose 在集合中3 {'b', 'a', 'c', 'r', 'd'}4 {'b', 'd', 'r'}5 {'l', 'r', 'a', 'c', 'z', 'm', 'b', 'd'}6 {'a', 'c'}7 {'l', 'r', 'z', 'm', 'b', 'd'}

常用操作:

 1 s = set([3,5,9,10])      #建立一個數值集合   2    3 t = set("Hello")         #建立一個唯一字元的集合   4  5  6 a = t | s          # t 和 s的並集   7    8 b = t & s          # t 和 s的交集   9   10 c = t – s          # 求差集(項在t中,但不在s中)  11   12 d = t ^ s          # 對稱差集(項在t或s中,但不會同時出現在二者中)  13   14    15   16 基本操作:  17   18 t.add('x')            # 添加一項  19   20 s.update([10,37,42])  # 在s中添加多項  21   22    23   24 使用remove()可以刪除一項:  25   26 t.remove('H')  27   28   29 len(s)  30 set 的長度  31   32 x in s  33 測試 x 是否是 s 的成員  34   35 x not in s  36 測試 x 是否不是 s 的成員  37   38 s.issubset(t)  39 s <= t  40 測試是否 s 中的每一個元素都在 t 中  41   42 s.issuperset(t)  43 s >= t  44 測試是否 t 中的每一個元素都在 s 中  45   46 s.union(t)  47 s | t  48 返回一個新的 set 包含 s 和 t 中的每一個元素  49   50 s.intersection(t)  51 s & t  52 返回一個新的 set 包含 s 和 t 中的公用元素  53   54 s.difference(t)  55 s - t  56 返回一個新的 set 包含 s 中有但是 t 中沒有的元素  57   58 s.symmetric_difference(t)  59 s ^ t  60 返回一個新的 set 包含 s 和 t 中不重複的元素  61   62 s.copy()  63 返回 set “s”的一個淺複製

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.