2017-10-10 29 views
1

我想移除列表中的字典項。在django詞典中刪除空值的項目

Animals = ['dog', 'cat', 'fish', 'goat'] 
Owner = ['Nash', 'Luffy', '', ''] 

C = dict(zip(Animals, Owner)) 
C = {'dog':'Nash', 'cat':'Luffy', 'fish':'', 'goat':''} 

我應該怎麼做才能達到以下效果:

C = {'dog':'Nash', 'cat':'Luffy'} 
+0

這將刪除。但是一個額外的步驟。 dict((鍵,值)鍵,值在C.iteritems()如果值) –

+0

@SandeepBalagopal這也將刪除所有_falsy_元素,如'魚':0' – Selcuk

+0

你是對的人。也不可能有一步解決方案。在第一步本身?在郵編裏面。不確定。 –

回答

2

只需使用一個dict comprehension

>>> {k: v for k, v in C.items() if v != ''} 
{'dog': 'Nash', 'cat': 'Luffy'} 

或使用for循環:

for k, v in C.items(): 
    if v == '': 
     del(C[k]) 
+0

或'{k:v for k,v in C.items()if v}' –

+0

@AvinashRaj請看我上面的評論。這將刪除所有_falsy_值,例如「0」,「None」和「False」以及空字符串。 – Selcuk

-2

太容易做到這

mylist = {} 
count = 0 
for i in animals: 
    mylist[i] = owner[count] 
    count += 1 

希望它可以幫助:)