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 19 Python
django自带的server 让外网主机访问方法
May 14 Python
Python实现带参数的用户验证功能装饰器示例
Dec 14 Python
查看Python依赖包及其版本号信息的方法
Aug 13 Python
Python使用pymysql模块操作mysql增删改查实例分析
Dec 19 Python
pycharm内无法import已安装的模块问题解决
Feb 12 Python
python实现电子词典
Mar 03 Python
Win10用vscode打开anaconda环境中的python出错问题的解决
May 25 Python
django下创建多个app并设置urls方法
Aug 02 Python
python实现取余操作的简单实例
Aug 16 Python
详解python命令提示符窗口下如何运行python脚本
Sep 11 Python
python 进阶学习之python装饰器小结
Sep 04 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登录超时检测功能实例详解
2017/03/21 PHP
php使用fputcsv实现大数据的导出操作详解
2020/02/27 PHP
做网页的一些技巧
2007/02/01 Javascript
jQuery的写法不同导致的兼容性问题的解决方法
2010/07/29 Javascript
父元素与子iframe相互获取变量和元素对象的具体实现
2013/10/15 Javascript
JS中自定义定时器让它在某一时刻执行
2014/09/02 Javascript
js控制页面的全屏展示和退出全屏显示的方法
2015/03/10 Javascript
JavaScript实现快速排序的方法
2015/07/31 Javascript
JS实现带提示的星级评分效果完整实例
2015/10/30 Javascript
Vue.js教程之axios与网络传输的学习实践
2017/04/29 Javascript
关于javascript sort()排序你可能忽略的一点理解
2017/07/18 Javascript
详解react-webpack2-热模块替换[HMR]
2017/08/03 Javascript
JS获取日期的方法实例【昨天,今天,明天,前n天,后n天的日期】
2017/09/28 Javascript
BootStrap模态框不垂直居中的解决方法
2017/10/19 Javascript
vue 简单自动补全的输入框的示例
2018/03/12 Javascript
微信小程序页面缩放式侧滑效果的实现代码
2018/11/15 Javascript
ES6 Object方法扩展的应用实例分析
2019/06/25 Javascript
layui导出所有数据的例子
2019/09/10 Javascript
[49:11]完美世界DOTA2联赛PWL S3 INK ICE vs DLG 第二场 12.20
2020/12/23 DOTA
python通过scapy获取局域网所有主机mac地址示例
2014/05/04 Python
python中List的sort方法指南
2014/09/01 Python
Python复制目录结构脚本代码分享
2015/03/06 Python
Python多线程编程(五):死锁的形成
2015/04/05 Python
Python AES加密模块用法分析
2017/05/22 Python
Python zip()函数用法实例分析
2018/03/17 Python
python实现学员管理系统
2019/02/26 Python
python下PyGame的下载与安装过程及遇到问题
2019/08/04 Python
如何使用Python发送HTML格式的邮件
2020/02/11 Python
基于 Python 实践感知器分类算法
2021/01/07 Python
荷兰在线啤酒店:Beerwulf
2019/08/26 全球购物
开工仪式策划方案
2014/05/23 职场文书
“四风”问题的主要表现和危害思想汇报
2014/09/19 职场文书
主持人开幕词
2015/01/29 职场文书
幼儿园工作总结2015
2015/04/01 职场文书
恶魔之树最顶端的三颗果实 震震果实上榜,第一可以制造岩浆
2022/03/18 日漫
铁头也玩根德 YachtBoy YB-230......
2022/04/05 无线电