第二十節,基本數據類型,集合set、綜合應用新數據更新老數據

基本數據類型,集合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)
相關文章
相關標籤/搜索