如何从具有嵌套dict列表的dict中提取特定的键值对

2024-06-26 20:23:41 发布

您现在位置:Python中文网/ 问答频道 /正文

我有下面的数据结构,我想通过搜索特定的值来提取给定的key:value对。用例:我需要提取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.值(): 值错误:太多的值无法解压缩


Tags: key数据结构fornetvalueexamplemystatus
3条回答

如果您使用python2,则可以使用iteritems()

或者对于python3,它是items()

他们会为你在字典里输入关键字、值。在

dic = {'a':1,'b':2}

for key,value in dic.items():
    print(key)
    print(value)

它会回来的

^{pr2}$

我不认为values()是您想要的函数。在

可能您需要items()来代替。在

作为一种简单易懂的方法

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]))

相关问题 更多 >