【问题标题】:How do i fetch first key value pair (i.e., 'type': 45) from a dictionary which contains key as list with dictionaries我如何从包含键的字典中获取第一个键值对(即“类型”:45)作为字典列表
【发布时间】:2018-03-07 14:57:37
【问题描述】:
{'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 上尝试。

【问题讨论】:

  • 'type': 45 第一个怎么样?它落后于其他几个。
  • @StefanPochmann :我的问题应该是 - 如何根据最新日期从字典列表的字典中获取“类型”和相应的值(例如:“类型”:45)。 :) 我无法编辑!!
  • 您无法编辑它是什么意思?
  • @StefanPochmann :当我尝试编辑标题并尝试保存时,它说 - 看起来你的帖子主要是代码;请添加更多详细信息。

标签: python python-2.7 dictionary


【解决方案1】:

您的数据是一个字典,其中“警报”键与字典列表相关联。

该字典在与"alarms" 键关联的列表中。所以你可以通过以下方式获取它:

data['alarms'][0]

data 存储这个结构的变量。所以:

>>> data['alarms'][0]
{'date': '20170925T235525-0700', 'severity': 4, 'id': 8, 'ip': '172.26.70.4', 'type': 45}

【讨论】:

  • data['alarms'][0] 是一个列表而不是字典
  • @ddor254: 不,data['alarms'] 是一个列表,data['alarms'][0] 是一个字典。
【解决方案2】:

你需要做的:

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

【讨论】:

    【解决方案3】:

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

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

    【讨论】:

      猜你喜欢
      • 2022-01-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-09-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-05-09
      相关资源
      最近更新 更多