基本數據類型,集合set、綜合應用新數據更新老數據python
建立兩個字典
新數據,更新原始數據,a爲原始數據,b爲新數據spa
1,分別獲取到a字典和b字典的key(鍵),將兩個字典的鍵分別轉換成兩個集合code
2,找出a2集合裏存在,b2集合裏不存在的元素,獲得:{'#2', '#3'}(須要刪除:?)blog
3,找出b2集合裏存在,a2集合裏不存在的元素,獲得:{'#4', '#7'}(須要新建:?)utf-8
4,找出a2集合和b2集合有交集的元素,也就是a2集合和b2集合都存在的元素,獲得:{'#1'}(須要更新:?)io
5,在原始數據裏(將原始數據有的,新數據沒有的刪除)class
6,在原始數據裏(將新數據有的,原始數據沒有的追加進去)變量
7,在原始數據裏(原始數據和新數據都有的,將新數據的值更新到原始數據裏)coding
#!/usr/bin/env python # -*- coding:utf-8 -*- #建立兩個字典 #新數據,更新原始數據,a爲原始數據,b爲新數據 a = { "#1":11, "#2":22, "#3":100 } print("原始數據",a) b = { "#1":33, "#4":22, "#7":100 } print("新的數據",b) #取出a字典裏的key(鍵),獲得:dict_keys(['#1', '#2', '#3']) a1 = a.keys() #將a1獲得的鍵轉換成集合,獲得:{'#3', '#2', '#1'} a2 = set(a1) #取出b字典裏的key(鍵),獲得:dict_keys(['#4', '#1', '#7']) b1 = b.keys() #將b1獲得的鍵轉換成集合,獲得:{'#7', '#4', '#1'} b2 = set(b1) #找出a2集合裏存在,b2集合裏不存在的元素,獲得:{'#2', '#3'}(須要刪除:?) a3 = a2.difference(b2) #找出b2集合裏存在,a2集合裏不存在的元素,獲得:{'#4', '#7'}(須要新建:?) b3 = b2.difference(a2) #找出a2集合和b2集合有交集的元素,也就是a2集合和b2集合都存在的元素,獲得:{'#1'}(須要更新:?) c = a2.intersection(b2) #刪除原始數據,須要刪除的 #a3集合裏的是須要刪除的 for i in a3: #a3集合裏每次循環到的做爲a字典的鍵,刪除此鍵元素 del a[i] print("\n") print("刪除原始數據裏面,新數據不存在的",a) #新建原始數據,須要新建的 #b3集合裏的是須要新建的 for i in b3: #將b3集合裏循環到的從新賦值給一個變量 j1 = i #將b3集合裏循環的的做爲b字典的鍵,獲取到此鍵對應的值,從新賦值給一個變量 j2 = b[i] #將新的元素追加到a字典 a[j1] = j2 print("新數據裏面有,原始數據裏面沒有的,添加到原始數據",a) #更新原始數據,須要更新的 #c集合裏的就是須要更新的 for i in c: g = i a[g] = b[g] print("原始數據裏有,新數據裏也有的,將新數據更新到原始數據",a)