[英]how to extract a specific key value pair from a dict with a nested list of dicts
我具有以下数据结构,通过该数据结构,我想通过搜索特定值来提取给定键:值对。 用例:我需要从字典中提取u'LOB_B':u'mcsmsg.example.net'。
{u'status': u'successful',
u'availableFqdnList': [
{u'LOB_A': u'pcload.us.example.net'},
{u'LOB_B': u'mcsmsg.example.net'},
{u'LOB_B': u'gtxd.example.net'},
{u'LOB_B': u'diamond.example.net'}]}
for key, value in my_dict.values():
if value == 'mcsmsg.example.net':
print("Print key value pairs for available FQDN list")
print key, "=", value
错误=键,my_dict.values()中的值:ValueError:太多值无法解包
我不认为values()是您想要的功能。
可能您希望使用items()。
如果您使用的是python2,则可以使用iteritems()
或对于python3,它是items()
他们会为您迭代字典中的键和值。
dic = {'a':1,'b':2}
for key,value in dic.items():
print(key)
print(value)
它将返回
a
1
b
2
作为完成此操作的一种简单易懂的方式
d = {u'status': u'successful',
u'availableFqdnList': [{u'LOB_A': u'pcload.us.example.net'},
{u'LOB_B': u'mcsmsg.example.net'},
{u'LOB_B': u'gtxd.example.net'},
{u'LOB_B': u'diamond.example.net'}]}
for val in d['availableFqdnList']:
if val.values()[0] == "mcsmsg.example.net":
print("%s=%s" %(val.keys()[0], val.values()[0]))
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.