Python实现的字典值比较功能示例


Posted in Python onJanuary 08, 2018

本文实例讲述了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实现的字典值比较功能示例

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
跟老齐学Python之从if开始语句的征程
Sep 14 Python
python实现字符串和日期相互转换的方法
May 13 Python
python使用urllib2提交http post请求的方法
May 26 Python
Python插件virtualenv搭建虚拟环境
Nov 20 Python
初探TensorFLow从文件读取图片的四种方式
Feb 06 Python
通过celery异步处理一个查询任务的完整代码
Nov 19 Python
python实现横向拼接图片
Mar 23 Python
tensorflow使用CNN分析mnist手写体数字数据集
Jun 17 Python
python 用opencv实现图像修复和图像金字塔
Nov 27 Python
python自动化八大定位元素讲解
Jul 09 Python
python库sklearn常用操作
Aug 23 Python
python使用torch随机初始化参数
Mar 22 Python
python基础之包的导入和__init__.py的介绍
Jan 08 #Python
Python使用matplotlib的pie函数绘制饼状图功能示例
Jan 08 #Python
微信跳一跳自动运行python脚本
Jan 08 #Python
python3实现跳一跳点击跳跃
Jan 08 #Python
分数霸榜! python助你微信跳一跳拿高分
Jan 08 #Python
Python爬虫通过替换http request header来欺骗浏览器实现登录功能
Jan 07 #Python
ubuntu环境下python虚拟环境的安装过程
Jan 07 #Python
You might like
Thinkphp 5.0实现微信企业付款到零钱
2018/09/30 PHP
PHP常用header头定义代码示例汇总
2020/08/29 PHP
javascript html 静态页面传参数
2009/04/10 Javascript
jQuery学习笔记(3)--用jquery(插件)实现多选项卡功能
2013/04/08 Javascript
javascript操作excel生成报表全攻略
2014/05/04 Javascript
封装了一个支持匿名函数的Javascript事件监听器
2014/06/05 Javascript
javascript实现简单的进度条
2015/07/02 Javascript
基于JS实现新闻列表无缝向上滚动实例代码
2016/01/22 Javascript
AngularJS 最常用的功能汇总
2016/02/17 Javascript
基于JS分页控件实现简单美观仿淘宝分页按钮效果
2016/11/07 Javascript
jQuery密码强度验证控件使用详解
2017/01/05 Javascript
实例分析JS与Node.js中的事件循环
2017/12/12 Javascript
解决vue build打包之后首页白屏的问题
2018/03/06 Javascript
jQuery替换节点元素的操作方法
2018/03/18 jQuery
vue 实现购物车总价计算
2019/11/06 Javascript
js实现自动播放匀速轮播图
2020/02/06 Javascript
深入了解Vue.js 混入(mixins)
2020/07/23 Javascript
剖析Python的Tornado框架中session支持的实现代码
2015/08/21 Python
python将字符串list写入excel和txt的实例
2019/07/20 Python
python 抓包保存为pcap文件并解析的实例
2019/07/23 Python
Tensorflow的常用矩阵生成方式
2020/01/04 Python
python中return如何写
2020/06/18 Python
基于CSS3特效之动画:animation的应用
2013/05/09 HTML / CSS
css3 flex实现div内容水平垂直居中的几种方法
2020/03/27 HTML / CSS
HTML5有哪些新特征
2015/12/01 HTML / CSS
canvas实现按住鼠标移动绘制出轨迹的示例代码
2018/02/05 HTML / CSS
欧洲当代手工玻璃和瓷器的领先品牌:LSA International
2018/06/03 全球购物
教师研修随笔感言
2014/01/23 职场文书
教师工作失职检讨书
2014/09/18 职场文书
走群众路线剖析材料
2014/10/09 职场文书
拾金不昧表扬信
2015/01/16 职场文书
2015年双拥工作总结
2015/04/08 职场文书
情感电台广播稿
2015/08/18 职场文书
检举信的写法
2019/04/10 职场文书
德劲DE1108畅想
2021/04/22 无线电
利用Matlab绘制各类特殊图形的实例代码
2021/07/16 Python