如何从字典中获取第一个键值对(即'type':45),该字典包含带有字典的列表

时间:2017-09-26 11:39:52

标签: python python-2.7 dictionary

{'alarms': [{'date': '20170925T235525-0700',
             'id': 8,
             'ip': '172.26.70.4',
             'severity': 4,
             'type': 45},
            {'date': '20170925T235525-0700',
             'id': 7,
             'ip': '172.26.70.4',
             'severity': 4,
             'type': 45},
            {'date': '20170925T235525-0700',
             'id': 6,
             'ip': '172.26.70.4',
             'severity': 4,
             'type': 45},
            {'date': '20170925T220858-0700',
             'id': 5,
             'ip': '172.26.70.4',
             'severity': 6,
             'type': 44},
            {'date': '20170925T220857-0700',
             'id': 4,
             'ip': '172.26.70.4',
             'severity': 6,
             'type': 44},
            {'date': '20170925T220857-0700',
             'id': 3,
             'ip': '172.26.70.4',
             'severity': 6,
             'type': 44},
            {'date': '20170925T220856-0700',
             'id': 2,
             'severity': 6,
             'type': 32},
            {'date': '20170925T220850-0700', 'id': 1, 'severity': 6, 'type': 1},
            {'date': '20170925T220850-0700',
             'id': 0,
             'severity': 6,
             'type': 33}]}

需要获取第一个键值对(即'type':45)

请指导,我在Python 2.7上尝试。

3 个答案:

答案 0 :(得分:0)

您的数据是一个字典,其中“"警告" key与字典列表相关联。

该词典位于与[0]键关联的列表中。所以你可以用:

来获取它
"alarms"

使用data['alarms'][0] 存储此结构的变量。所以:

data

答案 1 :(得分:0)

你需要这样做:

def return_correct_dict(data):
    for d in data['alarms']:
        if d.get('type',"") == 45:
            return d

答案 2 :(得分:0)

您有一个字典列表的字典。 假设您的词典存储在名为 dict 的变量中。

dict['alarm'][0]['type'] will give you the value 45.