[英]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.