值在循环中时字典中的键错误

时间:2017-04-24 04:02:24

标签: python dictionary

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

{'company':{'website':u'url','u_idr':'f457','contact':[u'+ 6569071560'],'company_name':u'name','social' :{},email_domain':[u'name.com'],'email':u'1stdictionary'semail@name.com'}}

{'company':{'website':u'url','u_idr':'b9cd6','social':{'twitter':u'url','facebook':u'url',' instagram':u'url'},'contact':[u'+ 6596097753'],'company_name':u'name','email_domain':[u'name.com'],'email':u'2stdictionary 'semail@name.com'}}

我想访问联系人,电子邮件和社交的价值观。知道这一点,这是一个简单的逻辑,但它仍然没有正常工作,

以下是我的代码:

fig.height

我收到此错误,留下第一封电子邮件中的第一封电子邮件

  

1stdictionary'semail@name.com

     

追踪(最近一次呼叫最后一次):

     

文件“untitled.py”,第229行,

     

print v ['email'] KeyError:'email'

我想要的输出是我需要收集电子邮件,联系人和社交的价值

2 个答案:

答案 0 :(得分:2)

如果您只想要这三个值,则不需要循环。你也是这样做的v[email]是错误的,因为v是一个不是字典的值。

简单地

company = final['company']
contact, email, social = company[contact], company[email], company[social]

答案 1 :(得分:0)

公司词典可能没有"电子邮件"

试试这段代码

for k, v in final.items():
     print v.get("email")