【问题标题】:How do i access a specific element in a dictionary?如何访问字典中的特定元素?
【发布时间】:2019-12-09 13:42:01
【问题描述】:

我有一本字典,其中有一个列表和两个字典:

dict: {
 "weather":[
   {"id": 701, "main": "Mist", "description": "mist"},
   {"id": 300, "main": "Drizzle", "description": "light intensity drizzle"}
 ]
}

我想访问字典中的light intensity drizzle,我该怎么做?

我知道我必须这样做 dict[0]... 但此后我被卡住了

【问题讨论】:

  • 这是一个与python或js有关的问题吗?
  • 如果这确实是python,不要使用dict作为变量名。它已经是内置的,如果你这样做,你会在某些时候遇到问题。
  • 如果是JS可以去过滤,dict.weather.filter(w=>w.description==='light intensity drizzle').
  • @ravibagul91 这不会返回整个{"id": 300, "main": "Drizzle", "description": "light intensity drizzle"} 对象吗?
  • 听起来您需要复习访问字典和列表的基础知识。

标签: javascript python arrays json object


【解决方案1】:

您有一个字典/映射,其中一个键 ("weather") 具有列表/数组的值,第二个索引具有所需的描述字段,适当地索引到字典/映射:

对于 Python:

d = {
        "weather": [
            {
                "id": 701,
                "main": "Mist",
                "description": "mist"
            },
            {
                "id": 300,
                "main": "Drizzle",
                "description": "light intensity drizzle"
            }
        ]
    }

drizzle_string = d["weather"][1]["description"]
print(drizzle_string)

输出:

light intensity drizzle

对于 Javascript:

const m = {
             "weather": [
                 {
                     "id": 701,
                     "main": "Mist",
                     "description": "mist"
                 },
                 {
                     "id": 300,
                     "main": "Drizzle",
                     "description": "light intensity drizzle"
                 }
             ]
         }

const drizzle_string = m["weather"][1]["description"]
console.log(drizzle_string)

【讨论】:

  • @jaiyeko 有任何答案解决了您的问题吗?如果没有,我们如何进一步提供帮助?
【解决方案2】:

在 JavaScript 中:

dict.weather[1].description

在 Python 中:

dictVar["weather"][1]["description"]

(Python 需要将dict 更改为dictVar,因为dict 是保留的)

【讨论】:

    【解决方案3】:

    解决问题

    你可以按照下一个逻辑:

    1. 您正在处理一个名为 dict 的对象。
    2. 它有一个名为 wheather 的键,该键已分配了一个数组。
    3. 该数组是一个对象数组,每个对象都有不同的键。

    在 Javascript 中

    为了在 Javascript 中查找分配给对象/字典中键的值,您必须连接父项的名称、一个 和键的名称嵌套在父级中:

    dict.wheather
    

    下一步是进入数组。为此,您必须将索引放在方括号内:

    dict.wheather[1]
    

    请注意,数组中的第一个元素以 0 作为索引。

    接下来你重复第一步,写一个和你要找的钥匙。

    dict.wheather[1].description
    

    然后,记得将它分配给一个变量和 consoleloggit 以便打印它。

    var myVariable = dict.wheather[1].description;
    console.log(myVariable);
    

    在 Python 中

    您可以使用相同的逻辑,但您需要更改键 "dict" 因为它是 python 本身保留的一个词。在这种情况下,我将向您展示使用 dictionary 而不是 dict 的示例。我也打印没有将键分配给变量。 另外,你需要稍微改变一下sintax:

    print(dictionary["weather"][1]["description"])
    

    希望对你有用:)

    有关更多资源,请查看以下内容:

    对不起,如果我的英语学习很好:)

    【讨论】:

      【解决方案4】:

      const dict = {
       "weather":[
         {"id": 701, "main": "Mist", "description": "mist"},
         {"id": 300, "main": "Drizzle", "description": "light intensity drizzle"}
       ]
      }
      
      
      /* you can find it by id */
      
      console.log(
        dict.weather.find(w => w.id === 300).description
      )

      【讨论】:

        猜你喜欢
        • 2018-07-05
        • 2013-03-24
        • 2011-07-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-10-04
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多