Python基礎資料型別 (Elementary Data Type)set方法概述

來源:互聯網
上載者:User

標籤:相同   new   方法   建議   報錯   int   intersect   資料庫   pytho   

 li=[1,2,3,4,5,6,3,2,1] s2 = set(li) print(set(li))#difference()去除相同項,產生一個新的集合,刪除 s3=s2.difference([1,2,3,11]) set1 = {1,44,87,23,55} set2 = {1,44,88,23,67}# difference()比較元素 set1中有而set2中沒有 ret = set1.difference(set2) print(ret)#{55, 87} print(set1) print(set2)#difference_update()刪除兩集合中相同的元素--#從set1中刪除和set2中相同的元素 set1.difference_update(set2) print(set1) print(set2)#discard(valyes) 移除元素#移除指定元素,不存在不會報錯,remove()不存在會報錯,建議discard set1.discard(4) print(set1)#intersection()取交集值set1 = {1,44,87,23,55}set2 = {1,44,88,23,67} ret = set1.intersection(set2) print(set1)#intersection_difference()取交集並更新#取交集並更新到set1中 set1.intersection_update(set2) print(set1)#symmetric_difference()對稱交集#對稱交集,取兩個集合中互不存在的元素,產生一個新的集合 ret = set1.symmetric_difference(set2) print(ret)#{67, 55, 87, 88}symmetric_difference_update()對稱交集並更新 set1.symmetric_difference_update(set2)#對稱交集,並更新元素到set1中 print(set1)#union()並集#並集並更新到新的集合中 ret = set1.union(set2) print(ret)# 資料庫中原有old_dict = {    "#1":{ ‘hostname‘:"c1", ‘cpu_count‘: 2, ‘mem_capicity‘: 80 },    "#2":{ ‘hostname‘:"c1", ‘cpu_count‘: 2, ‘mem_capicity‘: 80 },    "#3":{ ‘hostname‘:"c1", ‘cpu_count‘: 2, ‘mem_capicity‘: 80 }}# cmdb 新彙報的資料new_dict = {    "#1":{ ‘hostname‘:"c2", ‘cpu_count‘: 2, ‘mem_capicity‘: 800 },    "#3":{ ‘hostname‘:"c2", ‘cpu_count‘: 2, ‘mem_capicity‘: 80 },    "#4":{ ‘hostname‘:"c2", ‘cpu_count‘: 2, ‘mem_capicity‘: 80 }}"""分析:1、新有,原來無→新加入2、新有,原來有→更新3、新無,原來有→原來刪除使用set的交集和差集來計算old_dict.keys()new_dict.keys()交集(更新):要更新的資料差集(刪除):old_dict.keys()--交集差集(添加):new_dict.keys()--交集"""old=set(old_dict.keys())new=set(new_dict.keys())up_set=old.intersection(new)   #需要更新的集合del_set=old.symmetric_difference(up_set)   #需要刪除的集合add_set=new.symmetric_difference(up_set)   #需要添加的集合print(up_set)print(del_set)print(add_set)

  

Python基礎資料型別 (Elementary Data Type)set方法概述

聯繫我們

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