web-dev-qa-db-fra.com

Aucun Valeur In python Dictionnaire

Est-il possible de vérifier aucune valeur en dict

dict = {'a':'None','b':'12345','c':'None'}

Mon code

for k,v in d.items():
  if d[k] != None:
    print "good"
  else:
    print "Bad 

Imprime trois bonnes après avoir exécuté au-dessus de l'extrait de code.

good
good
good

Obligatoire: Si la valeur est nulle que ne pas imprimer bien pour la clé dictée A et C.

11
user1636419

Vos valeurs aucune sont réellement des chaînes dans votre dictionnaire.

Vous pouvez vérifier "Aucun" ou utiliser réel python Aucun valeur.

d = {'a':None,'b':'12345','c':None}

for k,v in d.items(): 
  if d[k] is None:
    print "good" 
  else: 
    print "Bad"

imprime "bon" 2 fois

Ou si vous devez utiliser votre dictionnaire actuel, changez simplement votre chèque à rechercher 'None'

de plus, dict est un python Construit en type, il est donc une bonne idée de ne pas nommer des variables dict

27
dm03514

Définissez votre dictionnaire avec

d = {'a': None}

plutôt que

d = {'a': 'None'}

Dans le dernier cas, 'None' est juste une chaîne, pas de type None de Python. En outre, testez pour None avec l'opérateur d'identité is:

for key, value in d.iteritems():
    if value is None:
        print "None found!" 
7

Au lieu d'utiliser "si la valeur n'est aucune", vous pouvez simplement utiliser

if not value: print "None found!"

"Si la valeur" sera true si la valeur comporte des données et qu'il sera faux s'il n'a aucune donnée. Par conséquent, vous n'avez pas besoin d'utiliser explicitement aucun mot-clé dans la condition.

0
Kush