2017-09-04 605 views
1

我想刪除具有空值的字典元素列表。Python - 從字典列表中刪除具有空值的字典

所以以下:

dict = [{"end": "00:15", "item": "Paul Test 1", "start": "00:00"}, {"end": "00:14", "item": "Paul Test 2 ", "start": "00:30"}, {"end": "", "item": "", "start": ""}, {"end": "", "item": "", "start": ""}, {"end": "", "item": "", "start": ""}] 

將返回一個新的字典:

[{"end": "00:15", "item": "Paul Test 1", "start": "00:00"}, {"end": "00:14", "item": "Paul Test 2 ", "start": "00:30"}] 

我已經試過:

{k:v for k,v in dict if not v} 

,但我發現:

ValueError: too many values to unpack (expected 2) 

回答

4

試試這個:

print([d for d in arr if all(d.values())]) 

不要使用dict的名字:您覆蓋Python的一個。在你的情況下,它不是一本字典,它是一組字典。

+0

您應該使用'd.values()',因爲不使用這些鍵。 –

+0

@MosesKoledoye謝謝你,你是對的 –

+0

輝煌的工作表示感謝。有一個問題,我認爲數組包含括號和列表中包含方括號? – nmh