免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 9419 | 回复: 7
打印 上一主题 下一主题

怎样能简单快速的比较二个dic值是否完全相同 [复制链接]

论坛徽章:
4
天蝎座
日期:2013-11-06 11:39:34巳蛇
日期:2014-01-16 16:53:14午马
日期:2014-08-25 21:42:302015年迎新春徽章
日期:2015-03-03 17:21:44
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2013-12-04 13:50 |只看该作者 |倒序浏览
dica = {1:'aa',2:'bb'}
dicb = {1:'a',2:'b'}
请问用什么方法能快速的比较这二个dic值是否全同
二个字典的键值是一样的


谢谢

论坛徽章:
4
白羊座
日期:2013-11-05 10:26:09冥斗士
日期:2015-11-17 14:19:55白银圣斗士
日期:2015-11-17 15:13:0815-16赛季CBA联赛之新疆
日期:2016-04-01 09:10:58
2 [报告]
发表于 2013-12-04 13:58 |只看该作者
回复 1# lvxinzhi

下面的图是 Python 里面的字典比较过程,就是三个步骤:
1. 长度的比较
2. 键的比较
3. 值的比较
如果三个都相同,则认为两个 Dict 相同。
结合你的问题:
因为键值完全一样,那字典的长度、键的比较应当都是相同的。
那么,在 dict 比较中,比较的一定是值的比较。
所以,你可以直接用 ==, >, < 来进行比较的判断。
   

论坛徽章:
13
丑牛
日期:2013-08-16 15:08:22技术图书徽章
日期:2013-11-26 10:13:40双鱼座
日期:2013-11-08 15:03:26戌狗
日期:2013-11-08 13:52:30技术图书徽章
日期:2013-11-05 14:06:30戌狗
日期:2013-10-31 11:45:42CU十二周年纪念徽章
日期:2013-10-24 15:41:34天秤座
日期:2013-10-11 14:55:08子鼠
日期:2013-09-26 19:36:35水瓶座
日期:2013-09-26 17:44:56午马
日期:2013-08-26 10:24:23丑牛
日期:2013-08-19 14:43:22
3 [报告]
发表于 2013-12-04 14:47 |只看该作者
  1. cmp(dica,dicb)
  2. 返回0,说明两个字典相同,返回其他,说明字典不一样
复制代码

论坛徽章:
4
天蝎座
日期:2013-11-06 11:39:34巳蛇
日期:2014-01-16 16:53:14午马
日期:2014-08-25 21:42:302015年迎新春徽章
日期:2015-03-03 17:21:44
4 [报告]
发表于 2013-12-04 15:35 |只看该作者
代号:军刀 发表于 2013-12-04 14:47


谢谢你的回复

论坛徽章:
4
天蝎座
日期:2013-11-06 11:39:34巳蛇
日期:2014-01-16 16:53:14午马
日期:2014-08-25 21:42:302015年迎新春徽章
日期:2015-03-03 17:21:44
5 [报告]
发表于 2013-12-04 15:36 |只看该作者
回复 2# icymirror

感谢你的回复


   

论坛徽章:
5
丑牛
日期:2014-01-21 08:26:26卯兔
日期:2014-03-11 06:37:43天秤座
日期:2014-03-25 08:52:52寅虎
日期:2014-04-19 11:39:48午马
日期:2014-08-06 03:56:58
6 [报告]
发表于 2013-12-06 14:28 |只看该作者
这个必须赞一个
回复 3# 代号:军刀


   

论坛徽章:
0
7 [报告]
发表于 2013-12-15 22:17 |只看该作者
简单明了,一句话搞定

论坛徽章:
0
8 [报告]
发表于 2013-12-16 12:31 |只看该作者
in Python 3
  1. The cmp() function should be treated as gone, and the __cmp__() special method is no longer supported. Use __lt__() for sorting, __eq__() with __hash__(), and other rich comparisons as needed. (If you really need the cmp() functionality, you could use the expression (a > b) - (a < b) as the equivalent for cmp(a, b).)
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP