Considérons un simple dictionnaire (pour rappel un dictionnaire est constitué d'un ensemble de paires clé:valeur ) que l'on peut définir comme ceci:
>>> d = {'a':1,'b':2,'c':3}
>>> type(d)
<class 'dict'>
Pour itérer sur les clés du dictionnaire d, on peut alors procéder comme dans cet exemple:
>>> for key in d:
... print(key)
...
a
b
c
Dans ce dictionnaire il y a donc 3 clés: a, b et c. Si on veut maintenant itérer sur les clés et les valeurs associées du dictionnaire, il faut utiliser la méthode items() sous python 3 (ou iteritems() pour python 2), illustration:
>>> for key, value in d.items():
... print(key,value)
...
a 1
b 2
c 3
>>>
Pour des dictionnaires plus complexes avec des valeurs qui sont itérables comme un dictionnaire ou une liste par exemple il est aussi possible de créer une boucle qui affiche les données imbriquées, exemple:
>>> d = {'a':1,'b':2,'c':{'hello':1,'Bonjour':2}}
>>> for key, value in d.items():
... if isinstance(value, dict):
... for sub_key, sub_value in value.items():
... print(key,sub_key,sub_value)
... else:
... print(key,value)
...
a 1
b 2
c hello 1
c Bonjour 2
Références
Liens | Site |
---|---|
Iterating over dictionaries using 'for' loops | stackoverflow |
Python dictionary items() Method | tutorialspoint.com |
What is the difference between dict.items() and dict.iteritems()? | stackoverflow |
How to check if type of a variable is string? | stackoverflow |
Loop through all nested dictionary values? | stackoverflow |