小编给大家分享一下Python如何实现字典值比较功能,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!
Python实现的字典值比较功能
#coding=utf8
import logging
import os
from Lib.DealCsv import ExceptPropertyDic
from wxPython._wx import false
'''''
用于json数据的比较,包含属性、属性值的比较。
'''
#用于比较字符串、列表
PATH=lambda p:os.path.abspath(os.path.join(
os.path.dirname(__file__), p))
logging.basicConfig(level=logging.DEBUG,
format='%(asctime)s %(filename)s[line:%(lineno)d] %(levelname)s %(message)s',
datefmt='%a, %d %b %Y %H:%M:%S',
filename=PATH('../Log/judgeProps.log'),
filemode='w')
def CmpObj( reaResultl,exceptResult):
try:
if len(reaResultl)==len(exceptResult):
if cmp(reaResultl,exceptResult)==0:
return True
else:
return False
else:
return False
except Exception,e:
print e
#参数包含两个:
#containVar:查找包含的字符
#stringVar:所要查找的字符串
def containVarInString(containVar,stringVar):
try:
if isinstance(stringVar, str):
if containVar in stringVar:
return True
else:
return False
else:
return False
except Exception,e:
print e
def CmpValue(propsDic,exceptDic):
try:
containSeparatorList=[val for var in exceptDic.values() if containVarInString("|",var) for val in var.split("|")]
notContainSeparatorList=[var for var in exceptDic.values() if not containVarInString("|",var)]
exceptValueList=notContainSeparatorList+containSeparatorList
FalseBool=list(set([False for var in propsDic.values() if var not in exceptValueList ]))
if len(FalseBool):
return False
else:
return True
except Exception,e:
print e
propsDic={
'itemId ': 'XX',
'item' : 'track' ,
'serviceId' : 'pageview' ,
'srcSubModule' : '声音条' ,
'srcPosition' : 'XX',
'srcPage' : '发现_推荐' ,
'srcPageId' : 'XX' ,
'srcModule' : '焦点图' ,
'srcTitle' : '焦点图标题' ,
'focusId' : '焦点图ID'
}
ExpecDic={
'itemId ': 'XX',
'item' : 'track' ,
'serviceId' : 'pageview' ,
'srcSubModule' : '声音条' ,
'srcPosition' : 'XX',
'srcPage' : '发现_推荐|猜你喜欢|订阅' ,
'srcPageId' : 'XX' ,
'srcModule' : '焦点图' ,
'srcTitle' : '焦点图标题' ,
'focusId' : '焦点图ID'
}
if __name__=="__main__":
print "亿速云测试结果:"
if CmpValue(propsDic, ExpecDic):
print "Equel"
else:
print "not equel"
以上是“Python如何实现字典值比较功能”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。