当前位置: 首页 > 知识库问答 >
问题:

python中字典内部列表中字典的访问值

融渊
2023-03-14
MQTT_MSG = {
"waypointMission":
{
    # "plantId": "OLD PLAN",
    "targetWaypoints":
    [
        {
            "latitude": 14.237372,
            "longitude": 77.457814,
            "threatLevel": 1,
            "timestamp": "",
            "waypointExecuted": 0,
            "waypointActions":
            [
                {
                    "action": "pitch",
                    "actionParam": -30
                },
                {
                    "action": "stay",
                    "actionParam": 3000
                }
            ]
        }
    ]}
print(MQTT_MSG['waypointMission']['targetWaypoints']['latitude'])

我想更改字典的纬度和经度值。

它正在抛出以下错误消息

TypeError: list indices must be integers or slices, not str

对于此打印(MQTT_MSG['waypointMission']['targetWaypoints'][0])它在targetWaypoints内打印一个完整的字典。我想打印纬度值。

提前谢谢。

共有1个答案

贲铭
2023-03-14

这个问题与你的问题非常相似,但没有增加dict值作为列表的复杂性:在字典中递归查找键这是对该问题公认答案中的代码的修改,以处理列表:

def recursive_search(target, key):
    if key in target:
        return target[key]
    for k, v in target.items():
        if isinstance(v, dict):
            item = recursive_search(v, key)
            if item is not None:
                return item
        elif isinstance(v, list):                #added code to handle the list
            for node in v:
                item = recursive_search(node, key)
                if item is not None:
                    return item

测试此功能:

recursive_search(MQTT_MSG, "latitude")
>>> 14.237372

请注意,如果在同一级别上有重复的键(即,尝试使用“actionParam”运行它,它将只获得第一个值),那么这将不太好。

 类似资料:
  • 使用Python我试图访问一个字段是字符串格式的CSV文件,其中有一个字典列表。 一行 NameError Traceback(最近的调用最后)在 () ---- C:\Program Data\Anaconda3\lib\site-包\熊猫\core\series.py在应用(自我,功能,convert_dtype,args,**kwds)3190 其他:3191值=self.astype(对象

  • 我有一个JSON API响应,如下所示: 我正在使用Python并尝试访问响应中的第一个“下载”值。所以我需要从sales\u list(目录中的列表)开始 我见过关于在列表中的字典或嵌套字典中访问值的问题。但是我对如何在字典中的列表和列表中的字典之间/之间导航有点困惑。任何帮助都将不胜感激。

  • 如何在Swift中到达以下字典中的第二个整数(键)?而且,当我这样做的时候,我怎样才能找到第二个字典里的字串呢? 我尝试编写(例如)var test:Int=activeCustomers[1][1],但这不起作用。它说字典里没有一个叫下标的成员。

  • 问题内容: 我正在处理一个复杂的嵌套字典和列表数据结构。我需要将数据展平并将所有嵌套项都置于0级。有关更多说明,请参见以下示例: 我需要将其展平为: 我从这篇文章的第一个答案中获得了参考,但是只有在我嵌套了字典的情况下它才可以工作,如果列表嵌套在字典中并且更多的词典嵌套在这些列表中,则它不能工作。 我对代码做了一些修改以适合我的用例,但是此代码不起作用 当我在此处粘贴代码时,缩进变得混乱。但我真的

  • 本文向大家介绍python 字典套字典或列表的示例,包括了python 字典套字典或列表的示例的使用技巧和注意事项,需要的朋友参考一下 文件f1 A 1 a A 1 b A 2 C B 2 a B 2 b 生成如下字典: 以上这篇python 字典套字典或列表的示例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持呐喊教程。

  • 问题内容: 如何使用Python-redis在Redis中保留针对某个键的字典列表。以下是我要针对的数据结构: 想要添加到会话列表中以及添加新会话并检索它们。如何使用Python-redis做到这一点? 问题答案: 使用pickle或json序列化字典。使用redis列表将它们存储为字符串。使用类似访问这些列表的键。如果需要获取所有会话密钥的列表,则可能需要维护一组密钥字符串。