我有一个json文档(as_stats.json),看起来像这样:
{"failed":5, "received": {"192.168.5.2": 40, "192.168.5.45": 84, "127.0.0.1": 145}}
我的python代码如下所示:
import json,urllib
data = open('as_stats.json').read()
d = json.loads(data)
for x in d['received']:
if (x != '127.0.0.1'):
print x
返回的值是IP地址,它们是变量,即可以随时更改为任何其他地址。我感兴趣的是从每个IP地址收到的文件数量。当我尝试将代码重写为
时for x,y in d['received']:
if (x <> '127.0.0.1'):
print x,y
我收到一条消息,说“打开包装的价值太多了。”
如何从键值对中获取我想要的值?
答案 0 :(得分:4)
使用:
for x,y in d['received'].iteritems():
dict上的正常迭代只会给你键。使用itervalues
获取值,或iteritems
获取键和值。