python中2个字典比较
生活随笔
收集整理的這篇文章主要介紹了
python中2个字典比较
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
用到的兩個(gè)函數(shù):
set() 函數(shù):創(chuàng)建一個(gè)無(wú)序不重復(fù)元素集,可進(jìn)行關(guān)系測(cè)試,刪除重復(fù)數(shù)據(jù),還可以計(jì)算交集、差集、并集等。
cmp(x,y) 函數(shù):用于比較2個(gè)對(duì)象,如果 x < y 返回 -1, 如果 x == y 返回 0, 如果 x > y 返回 1
1.列出不同的鍵值
#!/usr/bin/python # -*- coding:utf-8 -*-import os, sysimport rereload(sys) sys.setdefaultencoding("utf8")dct0 = {"name":"zhang","age":"23"} dct1 = {"name":"san","age":"23"} def cmpdicts(dct0, dct1):diffs = set()keys = set(dct0.keys() + dct1.keys())for k in keys:if cmp(dct0.get(k), dct1.get(k)):diffs.add(k)return diffs dict_diff = cmpdicts(dct0, dct1) print "字典不同的值:" print dict_diff運(yùn)行結(jié)果:
字典不同的值: set(['name'])2.列出所有的不同鍵值
#!/usr/bin/python # -*- coding:utf-8 -*- ''' 遇到問(wèn)題沒(méi)人解答?小編創(chuàng)建了一個(gè)Python學(xué)習(xí)交流QQ群:778463939 尋找有志同道合的小伙伴,互幫互助,群里還有不錯(cuò)的視頻學(xué)習(xí)教程和PDF電子書! ''' import os, sys import rereload(sys) sys.setdefaultencoding("utf8")dct0 = {"name":"zhang","age":"23"} dct1 = {"name":"san","age":"23","sex":"1"} print "字典dct0的值:" + str(dct0) print "字典dct1的值:" + str(dct1)differ = set(dct0.items()) ^ set(dct1.items()) print "字典不同的值:" print(differ)print "查看字典dct0和字典dct1共有的key" print set(dct0.keys()) & set(dct1.keys())print "查看字典dct0和字典dct1不共有的key" print set(dct0.keys()) ^ set(dct1.keys())print "查看在字典dct1里面而不在字典dct0里面的key:" print set(dct1.keys()) - set(dct0.keys())print "查看字典dct0和字典dct1相同的鍵值對(duì):" print set(dct0.items()) & set(dct1.items())運(yùn)行結(jié)果:
字典dct0的值:{'age': '23', 'name': 'zhang'} 字典dct1的值:{'age': '23', 'name': 'san', 'sex': '1'} 字典不同的值: set([('name', 'zhang'), ('sex', '1'), ('name', 'san')]) 查看字典dct0和字典dct1共有的key set(['age', 'name']) 查看字典dct0和字典dct1不共有的key set(['sex']) 查看在字典dct1里面而不在字典dct0里面的key: set(['sex']) 查看字典dct0和字典dct1相同的鍵值對(duì): set([('age', '23')])總結(jié)
以上是生活随笔為你收集整理的python中2个字典比较的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Python中的del用法
- 下一篇: python3 中print 显示不全问