2017-09-04 18 views
1

空の値を持つ辞書要素のリストを削除したいと思います。次のためにそうPython - 辞書のリストから空の値を持つ辞書を削除する

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

を私は取得しています:私が試した

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

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": ""}] 

は、新しい辞書を返します

ValueError: too many values to unpack (expected 2) 

答えて

4

これを試してみてください:

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

は名前としてdictを使用しないでください:あなたは、Pythonの1を上書きします。あなたの場合は辞書ではありません。辞書の配列です。

+0

キーが使用されていないので、 'd.values()'を使うべきです。 –

+0

@MosesKoledoyeありがとう、ありがとうございました –

+0

すごくうれしいです。しかし、1つの質問には、配列に括弧が含まれ、リストに角括弧が含まれていると思いましたか? – nmh

関連する問題