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实现在matplotlib中两个坐标轴之间画一条直线光标的方法
May 20 Python
深入理解Python单元测试unittest的使用示例
Nov 18 Python
python+opencv轮廓检测代码解析
Jan 05 Python
Python图像处理之识别图像中的文字(实例讲解)
May 10 Python
PyQt5实现从主窗口打开子窗口的方法
Jun 19 Python
Python操作多维数组输出和矩阵运算示例
Nov 28 Python
PyTorch 解决Dataset和Dataloader遇到的问题
Jan 08 Python
利用Pytorch实现简单的线性回归算法
Jan 15 Python
python数据类型强制转换实例详解
Jun 22 Python
Python SMTP发送电子邮件的示例
Sep 23 Python
python-图片流传输的思路及示例(url转换二维码)
Dec 21 Python
python可视化大屏库big_screen示例详解
Nov 23 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
调频问题解答
2021/03/01 无线电
php面向对象的方法重载两种版本比较
2008/09/08 PHP
php中使用Akismet防止垃圾评论的代码
2011/06/10 PHP
Ubuntu 16.04中Laravel5.4升级到5.6的步骤
2018/12/07 PHP
thinkPHP5.1框架使用SemanticUI实现分页功能示例
2019/08/03 PHP
JavaScript版代码高亮
2006/06/26 Javascript
jQuery EasyUI API 中文文档 - NumberSpinner数值微调器使用介绍
2011/10/21 Javascript
js和php如何获取当前url的内容
2013/09/22 Javascript
关于img的href和src取变量及赋值的方法
2014/04/28 Javascript
javascript复制粘贴与clipboardData的使用
2014/10/16 Javascript
JavaScript实现点击自动选择TextArea文本的方法
2015/07/02 Javascript
jQuery实现的个性化返回底部与返回顶部特效代码
2015/10/30 Javascript
javascript实现数字倒计时特效
2016/03/30 Javascript
angular分页指令操作
2017/01/09 Javascript
详解vue.js全局组件和局部组件
2017/04/10 Javascript
解决jquery有正确返回值但不执行success函数的问题
2018/08/20 jQuery
常见的浏览器存储方式(cookie、localStorage、sessionStorage)
2019/05/07 Javascript
JS函数动态传递参数的方法分析【基于arguments对象】
2019/06/05 Javascript
vue-cli2与vue-cli3在一台电脑共存的实现方法
2019/09/25 Javascript
[47:03]Ti4第二日主赛事败者组 LGD vs iG 2
2014/07/21 DOTA
[49:08]完美世界DOTA2联赛PWL S2 LBZS vs FTD.C 第一场 11.27
2020/12/01 DOTA
wxPython定时器wx.Timer简单应用实例
2015/06/03 Python
python实现kNN算法
2017/12/20 Python
python画折线图的程序
2018/07/26 Python
python机器学习之神经网络实现
2018/10/13 Python
详解Python中pandas的安装操作说明(傻瓜版)
2019/04/08 Python
python 实现矩阵按对角线打印
2019/11/29 Python
python如何查看安装了的模块
2020/06/23 Python
python gui开发——制作抖音无水印视频下载工具(附源码)
2021/02/07 Python
运动员口号
2014/06/09 职场文书
安全标语大全
2014/06/10 职场文书
2015年公民道德宣传日活动总结
2015/03/23 职场文书
为什么 Nginx 比 Apache 更牛逼
2021/03/31 Servers
Python 使用dict实现switch的操作
2021/04/07 Python
Django使用channels + websocket打造在线聊天室
2021/05/20 Python
Ubuntu Server 安装Tomcat并配置systemctl
2022/04/28 Servers