【发布时间】:2017-11-02 03:18:52
【问题描述】:
我一直在尝试从 python 中的多级字典中提取数据 我从中提取的字典示例是:
{"family": {
"name": "Mary",
"age": "32",
"sex": "female",
"kids": [
{
"name": "jim",
"age": "10",
"sex": "male",
"dob_year": "2007",
"ssn": "123-23-1234"
},
{
"name": "jill",
"age": "6",
"sex": "female",
"dob_year": "2011",
"ssn": "123-23-1235"
}]}}
ss = test0["family"]["kids"]
def search(values, lookup):
for k in values:
for v in values:
if lookup in v:
return k
return None
print search(ss, '201')
我的目标是让它在嵌套字典的值中搜索关键字(不精确),如果要求 ssn,则返回完整的字典或特定键的值,如“23-23-1235”。
需要它返回 {"name":"jill","age":"6","sex":"female","dob_year":"2011","ssn":"123-23-1235 "} 的不同级别的请求值。
现在它只显示:{"name": "jim","age": "10","sex": "male", "dob_year": "2007","ssn": "123-23-1234"}
【问题讨论】:
-
检查你的循环逻辑,你应该使用
dict.iteritems()来阅读字典中的项目。
标签: python dictionary