我有一个嵌套的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"}
我在做什么错了?
答案 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"])