web-dev-qa-db-fra.com

Comment vérifier si une variable est un dictionnaire en Python?

Comment vérifierais-tu si une variable est un dictionnaire en python?

Par exemple, j'aimerais qu'il parcourt les valeurs du dictionnaire jusqu'à ce qu'il trouve un dictionnaire. Ensuite, parcourez celui qu'il trouve:

dict = {'abc': 'abc', 'def': {'ghi': 'ghi', 'jkl': 'jkl'}}
for k, v in dict.iteritems():
    if ###check if v is a dictionary:
        for k, v in v.iteritems():
            print(k, ' ', v)
    else:
        print(k, ' ', v)
139
Riley

Vous pouvez utiliser if type(ele) is dict ou isinstance (ele, dict) ce qui fonctionnerait si vous aviez sous-classé dict :

d = {'abc':'abc','def':{'ghi':'ghi','jkl':'jkl'}}
for ele in d.values():
    if isinstance(ele,dict):
       for k, v in ele.items():
           print(k,' ',v)
174
Padraic Cunningham