访问嵌套字典失败

时间:2019-11-10 14:25:36

标签: python dictionary

我有一个嵌套的dict,它是在几个过程中构造的。为了构造字典,我​​将其传递给一些函数,将其填充并返回。只需输入一个条目,即可按以下方式构造字典:

  

{K:{K:V,K:V}}

对于一个近乎真实的例子:

mydict = {"www.google.com": {"date":"1/1/19","text":"moo"},
          "www.yahoo.com": {"date":"1/2/19","text":"woof"}}

如果我print(mydict),我所看到的正是我所期望的。但是,当我尝试遍历字典时,无法使用以下命令从嵌套字典中获取值:

for k,v in mydict.items():
    print(mydict[k][text])

我反而得到错误:

  

NameError:名称'text'未定义

但是当我执行以下操作时,它会起作用:

for k,v in mydict.items():
    print(mydict[k])

我看到的结果如下:

{"date":"1/1/19","text":"moo"}

{"date":"1/2/19","text":"woof"}

我在做什么错了?

3 个答案:

答案 0 :(得分:2)

您需要引用“文本”,否则将其作为变量名

cursorObj.execute('SELECT max(date) from assetsvalues where assetid =3')
output = cursorObj.fetchone()
print(output)

答案 1 :(得分:1)

您必须使用"text"而不是text

mydict = {"www.google.com":{"date":"1/1/19","text":"moo"},
      "www.yahoo.com":{"date":"1/2/19","text":"woof"}}

for k,v in mydict.items():
    print(mydict[k]["text"])
  

输出

moo
woof

答案 2 :(得分:1)

您错过了"中的text双引号:这是正确的

for k,v in mydict.items():
    print(mydict[k]["text"])