代码之家  ›  专栏  ›  技术社区  ›  iwamoto

获取字典的特定索引

  •  0
  • iwamoto  · 技术社区  · 1 年前

    我有这个lambda函数

    def lambda_handler(event, context):
        response = client.describe_maintenance_windows(
    Filters=[
        {
            'Key': 'Name',
            'Values': [
                'test',
            ]
        },
    ],
    )
    MWId = response["WindowIdentities"]
    return(MWId)
    

    我得到了以下响应响应结构

    [
      {
        "WindowId": "mw-0154acefa2151234",
        "Name": "test",
        "Enabled": true,
        "Duration": 4,
        "Cutoff": 0,
        "Schedule": "cron(0 0 11 ? * SUN#4 *)",
        "NextExecutionTime": "2024-08-25T11:00Z"
      }
    ] 
    

    如何获取WindowId的值,以便将其传递给变量?我尝试了以下操作,但收到“errorMessage”:“'list'对象不可调用”

    mwidvalue = MWId("WindowId")
    
    2 回复  |  直到 1 年前
        1
  •  0
  •   John Rotenstein    1 年前

    这是一个包含字典的列表,因此您需要使用:

    mwidvalue = MWId[0]["WindowId"]
    

    这将返回列表的第一个元素(在您的示例中,只有一个),然后返回 WindowId 那本词典的元素。

        2
  •  0
  •   ShadowFurtive    1 年前

    正如你提到的错误所说,你正在处理一个列表。出于这个原因,你需要得到列表中你想处理的元素,然后做任何你想做的事情。

    在这种情况下,列表中的元素是一个字典,因此您可以使用get方法来获取该元素。

    MWId[0].get("WindowId")
    

    这应该足够了。