2017-04-24 49 views
1
for k,v in final.items(): 
    print k,v 

{'company':{'website':u'url','u_idr':'f457','contact':[u'+ 6569071560'] ,'company_name':u'name','social':{},email_domain':[u'name.com'],'email':u'1stdictionary'[email protected]'}}數值在循環中的字典中的關鍵錯誤

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

我想訪問聯繫人,電子郵件和社交的價值觀。知道了,這是一個簡單的邏輯,但仍是不做工精細,

下面是我的代碼:

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

我收到此錯誤,從第1辭典離開一號電子郵件

1stdictionary'[email protected]

Traceback (most recent call last):

File "untitled.py", line 229, in

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

我期望的輸出是我需要收集的電子郵件,聯繫人和社會

+1

使用'打印最終[K]'或'直接打印v' – luoluo

+0

但我特別需要的接觸,社會和電子郵件的價值。 print v或final [k]打印字典的值部分。 @luoluo – NiviSRa

+0

也許你需要'print v [「email」]''。 – luoluo

回答

0

公司字典中的值可能不會有「電子郵件」

試試這個代碼

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

感謝@Mini,電子郵件它的工作原理 – NiviSRa

2

如果你只是想這三個值,則不需要一個循環。你也是這樣做的錯誤v[email]是錯誤的,因爲v是一個值不是字典。

只需

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

感謝@KeithC審查 –

+0

我很抱歉,我已經更新了輸入公司是關鍵,其餘都是值 – NiviSRa

+0

@NiviSRa我更新。我的code.Have看看 –