我试图在嵌套的Python字典中找到匹配项。我正在寻找一个特定的昵称来找到它的玩家id。我的昵称存储在name中(name=“zero10”)。在
我试图通过“if name in value:”查找匹配项。在
重新表述我的问题:如何检索其值之一与我的搜索匹配的字典?在
json_file = r.text
dct = json.loads(json_file)
for key, value in dct.iteritems():
if "data" in key:
for minilist in value:
for key, value in minilist.iteritems():
if name in value:
我的数据如下(我通过json模块成功转换):
^{pr2}$我希望最终的结果是
{"nickname":"zero10","account_id":500749494}
我修改了你的代码,不完全确定我是否理解这个问题,但这里是:
代码:
输出:
^{pr2}$如果要获取字典,请使用
result = dic2
更改result = dic2['account_id']
输出:
注意事项: 只有在
d1
中的“data”值的字典对中的形式为:{"nickname" : "...", "account_id" : ...}
时,这才有效这个行吗?在
结果是:
^{pr2}$你让你的生活变得更加艰难。我将分解代码,将响应验证与寻找播放器分开。这样更容易理解(至少对我的大脑来说是这样的)。函数
dict.get(key, default)
避免显式的data
检查。在输出:
^{pr2}$还要注意,
"data" in key
是危险的,因为您正在进行一个包含的检查。如果您的响应dict包含一个键,其中包含单词“data”,也就是说,当它看起来像这样时:`{“nou data_found”:true}。不是你想要的。在相关问题 更多 >
编程相关推荐