Python_Day_04 set方法總結,python_day_04set

來源:互聯網
上載者:User

Python_Day_04 set方法總結,python_day_04set

set(集合)

  • 直接建立一個空集合
set_empty = set()print(set_empty) # set()
  • 根據參數建立
# 根據參數set_argument = set(42,'345','ry')print(set_argument) # 這樣會報錯,因為set只允許有一個參數
  • 根據列表來建立
set_list = set([11,11,'45','11','ee'])print(set_list) # {11, 'ee', '45', '11'} 會自動重複資料刪除對象
  • 根據元組來建立
set_tuple = set((11,11,'45','11','ee',))print(set_tuple) # {'ee', 11, '45', '11'} 同樣會自動重複資料刪除對象
  • 根據字典來建立
set_dict = set({'k1':'v1','k2':2,'k3':'v3','k1':'v4'})print(set_dict) # {'k3', 'k1', 'k2'} 只會儲存key值,且不會重複
  • 字串建立
set_str = set('Hello Python')print(set_str) # {'y', 'o', 'n', ' ', 'P', 't', 'h', 'H', 'e', 'l'} 同樣會刪除字串中重複的字元
  •  add(self, *args, **kwargs) 添加一個新的元素到集合中,如果添加的元素在集合中已經存在就不會有任何操作
set_init = set([11,11,'45','11','ee'])set_init.add('Hello')print(set_init) # {'Hello', 11, 'ee', '11', '45'}set_init_str = set('Python')set_init_str.add('Hello,World')print(set_init_str) # {'Hello,World', 'o', 'P', 't', 'n', 'y', 'h'}
  •  clear(self, *args, **kwargs) 清除集合中元素,可以傳參數
set_init_clear = set([11,11,'45','11','ee'])set_init_clear.clear()print(set_init_clear) # set()
  •  copy(self, *args, **kwargs)  淺拷貝,會返回一個新的集合
set_init_copy = set([11,11,'45','11','ee'])set_receive_copy = set_init_copy.copy()print(set_receive_copy) # {'ee', 11, '45', '11'}
  •  difference(self, *args, **kwargs)  比較兩個集合類的不同,返回的是被主動比較的那個集合與比較集合的交集之外的子集(數學上叫啥給忘了)
set_init_dif1 = set([11,22,33,44])set_init_dif2 = set([33,44,55,66])set_init_rece1 = set_init_dif1.difference(set_init_dif2)print(set_init_rece1) # {11, 22}set_init_rece2 = set_init_dif2.difference(set_init_dif1)print(set_init_rece2) # {66, 55}
  •  difference_update(self, *args, **kwargs)  刪除兩個集合的交際
set_init_upd1 = set([11,22,33,44])set_init_upd2 = set([33,44,55,66])set_init_upd1.difference_update(set_init_upd2)print(set_init_upd1) # {22, 11}set_init_upd3 = set([11,22,33,44])set_init_upd4 = set([33,44,55,66])set_init_upd4.difference_update(set_init_upd3)print(set_init_upd4) # {66, 55}
  •  discard(self, *args, **kwargs)  刪除集合中存在的元素,如果不存在就什麼也不做
set_init_dis = set([11,22,33,44,55])set_init_dis.discard(11)print(set_init_dis) # {33, 44, 22, 55} 只能刪除一個
  •  intersection(self, *args, **kwargs)  返回兩個集合中的交集
set_init_inter1 = set([11,22,33,44])set_init_inter2 = set([33,44,55,66])set_rece_inter1 = set_init_inter1.intersection(set_init_inter2)print(set_rece_inter1) # {33, 44}
  •  intersection_update(self, *args, **kwargs)  取出兩個集合的交集,更新一個集合
set_inter_upd1 = set([111,222,333,444])set_inter_upd2 = set([333,444,55,66])set_inter_upd1.intersection_update(set_inter_upd2)print(set_inter_upd1) # {444, 333}
  •  isdisjoint(self, *args, **kwargs)  判斷兩個集合是否有交集,如果有就返回False,如果沒有就返回Ture
set_isdis1 = set([111,222,333,444])set_isdis2 = set([222,333])set_receive_isdis1 = set_isdis1.isdisjoint(set_isdis2)print(set_receive_isdis1) # False 說明有交集
  •  issubset(self, *args, **kwargs)  判斷A集合是否是B集合的子集
set_issub1 = set([111,222,333,444])set_issub2 = set([222,333])set_receive_issub1 = set_issub1.issubset(set_issub2)print(set_receive_issub1) # False 說明set_issub1不是set_issub2的子集set_receive_issub2 = set_issub2.issubset(set_issub1)print(set_receive_issub2) # True 說明set_issub2是set_issub1的子集
  •  issuperset(self, *args, **kwargs)  判斷A集合是否是B集合的父類,就是A集合是否包含B集合.結果跟  issubset(self, *args, **kwargs) 相反
  •  pop(self, *args, **kwargs)  移除元素,同時可以定義一個變數來接收移除的元素,如果集合為空白會報錯
set_pop = set([111,222,333,444,232])set_receive_pop = set_pop.pop()print(set_pop) # {444, 333, 222, 111}print(set_receive_pop) # 232
  •  remove(self, *args, **kwargs)  刪除元素
set_remove = set([111,222,333,444,232])set_remove.remove(111)print(set_remove) # {232, 444, 333, 222}
  •  symmetric_difference(self, *args, **kwargs)  取出兩個差,更新到一個集合中,如果同時刪除A,B兩集合中相同元素刪除.
set_sym1 = set([1,2,3,4,5])set_sym2 = set([2,3,4,5,6,])set_receive_sym1 = set_sym1.symmetric_difference(set_sym2)print(set_receive_sym1) # {1, 6}set_sym3 = set([1,2,3,4,5])set_sym4 = set([6,])set_receive_sym2 = set_sym3.symmetric_difference(set_sym4)print(set_receive_sym2) # {1, 2, 3, 4, 5, 6}
  •  symmetric_difference_update(self, *args, **kwargs)  將B集合中有,而A集合中沒有的更新到A集合中
set_sym_up1 = set([1,2,3,4,5])set_sym_up2 = set([2,3,4,5,6,])set_sym_up1.symmetric_difference_update(set_sym_up2)print(set_sym_up1) # {1, 6}set_sym_up3 = set([1,2,3,4,5])set_sym_up4 = set([6,])set_sym_up3.symmetric_difference_update(set_sym_up4)print(set_sym_up3) # {1, 2, 3, 4, 5, 6}
  •  union(self, *args, **kwargs)  返回A集合和B集合的並集
set_un1= set([11,22,33,44])set_un2 = set([22,33,44,55])set_rec_un = set_un1.union(set_un2)print(set_rec_un) # {33, 11, 44, 22, 55}
  •   update(self, *args, **kwargs)  A和B的並集,並返回A
set_un_up1 = set([111,222,333,444])set_un_up2 = set([222,333,444,555])set_un_up1.update(set_un_up2)print(set_un_up1) # {555, 333, 111, 444, 222}

 

聯繫我們

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