2017-11-12 1 views
-1

In Python 3.x möchte ich alle Werte, die null/keine in einem Verzeichnis sind, ausdrucken. Dies ist, was ich versucht habe:In Python drucken keine Werte in einem dict, Fehler, zu viele Werte zum Entpacken

dict = { 
      'USER': self.user, 
      'SUBJECT': self.sub, 
      'BODY': self.body, 
     } 
null_keys = [value for key, value in dict if key[value] is None] 
     if null_keys: 
      print('You have NULL value(s) for...{}'.format(null_keys) 

Allerdings habe ich diesen Fehler:

Valueerror: zu viele Werte zu entpacken (2 erwartet)

warum?

+0

'Wert für Schlüssel, Wert in dict.items()' vielleicht ?! ist diese Code-Kopie von wo auch immer? – Arman

+0

@Arman Nein, dies war nur mein erster Versuch bei einer Übung, den besten Weg zu finden, den Schlüssel aller Nullwerte in einem Diktat auszugeben. – MrKnotts

Antwort

1

Dies funktioniert, versuchen Sie dies:

d = dict({ 
"a": None, 
"b": 2, 
"c": None 
}) 

null_keys = list() 

for k,v in d.items(): 
    if(d.get(k) is None): 
    null_keys.extend(k) 

for i in null_keys: 
    print('You have NULL value(s) for...{}'.format(i)) 
+0

Variablennamen sollten snake_case verwenden. CamelCase sollte für Klassennamen reserviert sein – avigil

+0

@ArthurVigil Danke für den Vorschlag, bearbeitet. –

2

Verwendung dict.iteritems(), wenn Sie ein Wörterbuch iterieren versuchen

Verwandte Themen