2013-09-23 5 views
4
In [54]: User 
Out[54]: {0: {'uid': ' rpatil\n'}, 1: {}} 

In [55]: User[0] 
Out[55]: {'uid': ' rpatil\n'} 

In [56]: User[1] 
Out[56]: {} 

In [57]: if User[1] == '': 
    ....:  print 'Null' 
    ....: 

In [58]: 

Alors, comment vérifier la valeur est nulle dans plusieurs dictSi la valeur est nulle Dict

J'ai essayé suivant les liens, mais travaille pas None value in python dictionary

+0

si 'utilisateur [1]' est ' 0'. Voulez-vous vérifier pour dict juste vide? –

Répondre

9

dictionnaires vides sont Falsey. Il suffit d'utiliser if not dic.

>>> testDict = {} 
>>> if not testDict: 
     print "Empty" 


Empty 

Donc, dans votre code.

>>> User = {0: {'uid': ' rpatil\n'}, 1: {}} 
>>> if not User[1]: 
     print "NULL" 


NULL 
+1

Merci ... ça marche ... –

+3

Je ne recommanderais pas cela car il y a tellement d'autres choses qui sont falsey. – kindall

+1

@Surkit Kalra - Votre façon de penser est plus pythonique, mais je sens que mon chemin est plus clair ... des pensées? – RyPeck

5

Dictionnaires vides == {}. Vous pouvez également tester si c'est un dictionnaire vide.

>>> t = {} 
>>> t == None 
False 
>>> t == {} 
True 

Avec votre code.

>>> User = {0: {'uid': ' rpatil\n'}, 1: {}} 
>>> if User[1] == {}: 
     print "NULL" 

NULL 
1

User[1] n'est pas None - sa valeur est le vide dict:

>>> User[1] == {} 
True 

Vous auriez besoin d'avoir:

>>> User = {0: {'uid': ' rpatil\n'}, 1: None} 
Questions connexes