python中如何将一个字典中的两个key关联起来

云淡风轻2020 2011-11-11 05:02:46

{u'body': {}, u'header': {u'isJailBroken': u'NO', u'language': u'zh-Hans', u'country': u'CN', u'System': u'iPhone OS', u'appversion': u'1.1.2', u'Version': u'5.0', u'time': u'12:01:12', u'date': u'2011-11-10', u'timezone': u'8', u'model': u'iPad', u'appIdentifier': u'App Store', u'device_id': u'e4189a35fd5ed8946ea84c82fde5a9b923429e4e'}}

{u'body': {u'page': 16}, u'header': {u'isJailBroken': u'NO', u'language': u'zh-Hans', u'country': u'CN', u'System': u'iPhone OS', u'appversion': u'1.1.2', u'Version': u'4.2.1', u'time': u'00:05:24', u'date': u'2011-11-10', u'timezone': u'8', u'model': u'iPad', u'appIdentifier': u'App Store', u'device_id': u'd0ad003243e3ff389f5f7e96c7f4b87c154c7969'}}

{u'body': {}, u'header': {u'isJailBroken': u'NO', u'language': u'zh-Hans', u'country': u'CN', u'System': u'iPhone OS', u'appversion': u'1.1.2', u'Version': u'5.0', u'time': u'12:01:12', u'date': u'2011-11-10', u'timezone': u'8', u'model': u'iPad', u'appIdentifier': u'App Store', u'device_id': u'32d5e7bb9bffec98731a9dcbecb3ef49fb1c041d'}}

{u'body': {u'page': 22}, u'header': {u'isJailBroken': u'NO', u'language': u'zh-Hans', u'country': u'CN', u'System': u'iPhone OS', u'appversion': u'1.1.2', u'Version': u'5.0', u'time': u'00:01:11', u'date': u'2011-11-10', u'timezone': u'8', u'model': u'iPad', u'appIdentifier': u'App Store', u'device_id': u'118137bc3a21b9f1cb43e34412b7088e41e72006'}}

{u'body': {u'page': 22, u'7884': {u'detail_c': 1, u'num_iid': u'12361369592'}}, u'header': {u'isJailBroken': u'NO', u'language': u'en', u'country': u'US', u'System': u'iPhone OS', u'appversion': u'1.1.2', u'Version': u'5.0', u'time': u'12:01:12', u'date': u'2011-11-10', u'timezone': u'8', u'model': u'iPad', u'appIdentifier': u'App Store', u'device_id': u'2bf0f937727e7918fdf9e4aa3e329378c81f3a4d'}}
No JSON object could be decoded

{u'body': {u'page': 17}, u'header': {u'isJailBroken': u'NO', u'language': u'zh-Hans', u'country': u'CN', u'System': u'iPhone OS', u'appversion': u'1.1.2', u'Version': u'4.2.1', u'time': u'00:05:25', u'date': u'2011-11-10', u'timezone': u'8', u'model': u'iPad', u'appIdentifier': u'App Store', u'device_id': u'd0ad003243e3ff389f5f7e96c7f4b87c154c7969'}}

如上述数据,想将body里的page和header里的device_id对应起来,并将同一个device_id对应的几个page的值的最大值获得。最重要的是如何使page和device_id有对应关系,求教
...全文
550 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
在body里除了page外多存个device_id,每次再遍历不行?
云淡风轻2020 2011-11-14
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 xmnathan 的回复:]

在body里除了page外多存个device_id,每次再遍历不行?
[/Quote]
这也不失为一种方法,谢谢,不过我这还有其他需求,已经找到更简便的了,再次感谢你和6楼的提示。同时也谢谢3楼,虽然没表述清楚,还是感谢之,就此结帖
云淡风轻2020 2011-11-12
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 libralibra 的回复:]

引用 5 楼 tys1986blueboy 的回复:

引用 3 楼 iambic 的回复:

这个太简单了。
一、创建一个新字典保存结果(device_id->page)

四、检查结果字典,如果已经有了divce_id,比较当前page和结果里的page哪个大,把最大的更新的字典里;如果字典里没有,直接更新。



创建新字典时以device_id为key吗?如果这样的……
[/Quote]
我是这样考虑的,但是每次都是none,所以来这问问
libralibra 2011-11-11
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 tys1986blueboy 的回复:]

引用 3 楼 iambic 的回复:

这个太简单了。
一、创建一个新字典保存结果(device_id->page)

四、检查结果字典,如果已经有了divce_id,比较当前page和结果里的page哪个大,把最大的更新的字典里;如果字典里没有,直接更新。



创建新字典时以device_id为key吗?如果这样的话已经丢失大部分page值了
如果是将device_id和……
[/Quote]
device_id : {page的list}

这样就可以了
云淡风轻2020 2011-11-11
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 iambic 的回复:]

这个太简单了。
一、创建一个新字典保存结果(device_id->page)

四、检查结果字典,如果已经有了divce_id,比较当前page和结果里的page哪个大,把最大的更新的字典里;如果字典里没有,直接更新。


[/Quote]
创建新字典时以device_id为key吗?如果这样的话已经丢失大部分page值了
如果是将device_id和page都作为新字典的value,第四中所说的比较当前和结果里的page时如何确保是同一个device_id对应的不同page?
iambic 2011-11-11
  • 打赏
  • 举报
回复
五、最后遍历结果字典。
iambic 2011-11-11
  • 打赏
  • 举报
回复
这个太简单了。
一、创建一个新字典保存结果(device_id->page)
二、遍历每个字典数据
三、遍历的时候,取出page和device_id
四、检查结果字典,如果已经有了divce_id,比较当前page和结果里的page哪个大,把最大的更新的字典里;如果字典里没有,直接更新。
五、最后遍历。

自己照着写吧。都是十分基础的知识。
写这些步骤给你比实际写代码给你还麻烦。但是对于这种基础问题我不替人写代码。自己努力。
云淡风轻2020 2011-11-11
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 iambic 的回复:]

自己把两个字段拿出来,自己去用啊:
x['body']['page']
x['header']['App Store']

想怎么用就怎么用。我不知道你想怎么用。
[/Quote]
让一个字典里的它们能一一对应,device_id可能是很多重复的,每个对应一个page,也就是一个相同的key是device_id,如何对应上不同的page,并取得最大的那个page值
iambic 2011-11-11
  • 打赏
  • 举报
回复
自己把两个字段拿出来,自己去用啊:
x['body']['page']
x['header']['App Store']

想怎么用就怎么用。我不知道你想怎么用。

37,719

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • IT.BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧