找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 594|回复: 7

[求助] 获取2个字典差集

1

主题

4

帖子

4

积分

贫民

积分
4
km3945 发表于 2017-5-10 19:28:28 | 显示全部楼层 |阅读模式
new = {'url' : 'abc', 'title' : 'asdflkj', 'body':'aa', 'time':2008}
old  = {'url' : 'abc', 'title' : 'ieuriqe', 'body':'aa', 'time':2007}

#获得2个字典中值不同的项,并取出new中的健值
dif = {'title' : 'asdflkj','time':2008}

回复

使用道具 举报

2

主题

405

帖子

405

积分

版主

Rank: 7Rank: 7Rank: 7

积分
405

最佳新人热心会员默默耕耘

whydo1 发表于 2017-5-10 21:23:29 | 显示全部楼层
dif = {key:new[key] for key in new if new[key] != old[key]}

点评

>>> dif = {key:new[key] for key in new if new[key] != old[key]} File "<stdin>", line 1 dif = {key:new[key] for key in new if new[key] != old[key]} ^ SyntaxError: inv...   发表于 2017-5-11 09:54
python3.4.4, win10
回复 支持 反对

使用道具 举报

0

主题

7

帖子

7

积分

贫民

积分
7
wangch0828 发表于 2017-5-10 21:57:30 | 显示全部楼层
new={'url' : 'abc', 'title' : 'asdflkj', 'body':'aa', 'time':2008}
old={'url' : 'abc', 'title' : 'ieuriqe', 'body':'aa', 'time':2007}
dic={}
for i in list(new.keys()):
        if new[i]!=old[i]:
                dic[i]=new[i]
        else:
                continue
print dic
回复 支持 反对

使用道具 举报

1

主题

4

帖子

4

积分

贫民

积分
4
km3945  楼主| 发表于 2017-5-11 09:55:48 | 显示全部楼层
whydo1 发表于 2017-5-10 21:23
dif = {key:new[key] for key in new if new[key] != old[key]}

>>> dif = {key:new[key] for key in new if new[key] != old[key]}
  File "<stdin>", line 1
    dif = {key:new[key] for key in new if new[key] != old[key]}
                          ^
SyntaxError: invalid syntax
回复 支持 反对

使用道具 举报

2

主题

405

帖子

405

积分

版主

Rank: 7Rank: 7Rank: 7

积分
405

最佳新人热心会员默默耕耘

whydo1 发表于 2017-5-11 21:11:35 | 显示全部楼层
你的python版本是多少?
python3.4.4, win10
回复 支持 反对

使用道具 举报

1

主题

4

帖子

4

积分

贫民

积分
4
km3945  楼主| 发表于 2017-5-15 15:48:24 | 显示全部楼层
whydo1 发表于 2017-5-11 21:11
你的python版本是多少?

2.75
回复 支持 反对

使用道具 举报

0

主题

3

帖子

3

积分

贫民

积分
3
monkey007 发表于 2017-5-15 16:05:24 | 显示全部楼层
dif = {key:new[key] for key in new.keys() if new[key] != old[key]}
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表