Set ähnelt dict, es ist ebenfalls eine Sammlung von Schlüsseln, speichert jedoch keinen Wert. Da Schlüssel nicht wiederholt werden können, gibt es keine wiederholten Schlüssel im Satz. Die Funktion set() erstellt einen ungeordneten Satz sich nicht wiederholender Elemente, der zum Testen von Beziehungen, zum Löschen doppelter Daten und zur Berechnung von Schnittmengen und Differenzen verwendet werden kann. , Gewerkschaft usw.
set-Syntax:
class set([iterable])
Parameterbeschreibung: iterable – iterierbares Objektobjekt;
set-Sammlung ist eine ungeordnete und Eine Menge von sich nicht wiederholende Elemente #set ist eine ungeordnete und sich nicht wiederholende Menge von Elementen
s1=set() s1.add("alex") s1.add("eric") print(s1) #访问速度快 #天生解决了重复问题 ll=[1,2,3,4,5,6,3,2,1] s2=set(ll) print("转换后的集合为:",s2) #去除相同项,生成一个新的集合,删除 s3=s2.difference([1,2,3,11]) print("s2不变:",s2) print("观察是否生成一个新的集合s3:",s3) s4=s2.difference_update([3,4,5,11]) #删除所有包含在新集合中的元素,并生成一个新的集合 print("是否改变原集合s2:",s2) print("是否生成新集合s4:",s4) ret=s2.pop() #取出元素,并赋值给ret print("移除s2中的一个元素",s2) print("测试pop是否有返回值,移除的元素是:",ret) ret1=s2.remove(2) #必须带参数且没有返回值 print("移除s2中的一个元素:",s2) print("测试remove是否有返回值:",ret1) #练习 # 数据库中原有 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) #需要添加的集合
Das obige ist der detaillierte Inhalt vonWird set in Python nicht häufig verwendet?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!