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实现备份文件实例
Sep 16 Python
老生常谈Python startswith()函数与endswith函数
Sep 08 Python
python ftp 按目录结构上传下载的实现代码
Sep 12 Python
对python制作自己的数据集实例讲解
Dec 12 Python
python+selenium实现自动化百度搜索关键词
Jun 03 Python
Python使用Slider组件实现调整曲线参数功能示例
Sep 06 Python
window7下的python2.7版本和python3.5版本的opencv-python安装过程
Oct 24 Python
使用Pyhton 分析酒店针孔摄像头
Mar 04 Python
Python如何省略括号方法详解
Mar 21 Python
Python加速程序运行的方法
Jul 29 Python
python获取linux系统信息的三种方法
Oct 14 Python
Python基础之pandas数据合并
Apr 27 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
php str_pad() 将字符串填充成指定长度的字符串
2010/02/23 PHP
php使用ZipArchive提示Fatal error: Class ZipArchive not found in的解决方法
2014/11/04 PHP
php事务回滚简单实现方法示例
2017/03/28 PHP
Laravel 自定命令以及生成文件的例子
2019/10/23 PHP
PHP基于phpqrcode类生成二维码的方法示例详解
2020/08/07 PHP
Three.js源码阅读笔记(光照部分)
2012/12/27 Javascript
jquery实现的一个导航滚动效果具体代码
2013/05/27 Javascript
JavaScript 和 Java 的区别浅析
2013/07/31 Javascript
JS实现定时页面弹出类似QQ新闻的提示框
2013/11/07 Javascript
JS获取几种URL地址的方法小结
2014/02/26 Javascript
Node.js的基本知识简单汇总
2016/09/19 Javascript
Node.js开发教程之基于OnceIO框架实现文件上传和验证功能
2016/11/30 Javascript
vue不通过路由直接获取url中参数的方法示例
2017/08/24 Javascript
详解ionic本地相册、拍照、裁剪、上传(单图完全版)
2017/10/10 Javascript
Vue源码学习之关于对Array的数据侦听实现
2019/04/23 Javascript
vue实现div可拖动位置也可改变盒子大小的原理
2020/09/16 Javascript
vue+elementUI 实现内容区域高度自适应的示例
2020/09/26 Javascript
详解 javascript对象创建模式
2020/10/30 Javascript
微信小程序实现底部弹出框
2020/11/18 Javascript
[50:21]Liquid vs Winstrike 2018国际邀请赛小组赛BO2 第二场
2018/08/19 DOTA
[01:01:01]完美世界DOTA2联赛循环赛 GXR vs FTD BO2第一场 10.29
2020/10/29 DOTA
python判断端口是否打开的实现代码
2013/02/10 Python
Pyramid添加Middleware的方法实例
2013/11/27 Python
python控制台英汉汉英电子词典
2020/04/23 Python
Python高级应用实例对比:高效计算大文件中的最长行的长度
2014/06/08 Python
Python手绘可视化工具cutecharts使用实例
2019/12/05 Python
英国领先的NHS批准的在线药店:Pharmacy2U
2017/01/06 全球购物
速比涛英国官网:Speedo英国
2019/07/15 全球购物
澳洲Chemist Direct药房中文网:澳洲大型线上直邮药房
2019/11/04 全球购物
小学生成长感言
2014/01/30 职场文书
七年级生物教学反思
2014/01/30 职场文书
一年级语文教学反思
2014/02/13 职场文书
大学理论知识学习自我鉴定
2014/04/28 职场文书
市场营销毕业求职信
2014/08/07 职场文书
担保书范文
2015/01/20 职场文书
关于CSS自定义属性与前端页面的主题切换问题
2022/03/21 HTML / CSS