Python : Parcourir les dictionnaires

De www.yakakliker.org
Révision datée du 17 avril 2024 à 13:21 par Administrateur (discussion | contributions) (Page créée avec « === La méthode keys() === La méthode keys renvoie un objet dict_keys contenant les clés d'un dictionnaire. Par exemple :<syntaxhighlight lang="python3"> personne = { 'nom': 'dupont', 'prenom': 'jean', 'adresse': { 'ville': 'paris' } } print(personne.keys()) # dict_keys(['nom', 'prenom', 'adresse']) </syntaxhighlight>Attention ! Un dict_keys n'est pas une liste, il s'agit d'un objet particulier appelé une vue. C'est un objet itérabl... »)
(diff) ← Version précédente | Voir la version actuelle (diff) | Version suivante → (diff)

La méthode keys()

La méthode keys renvoie un objet dict_keys contenant les clés d'un dictionnaire.

Par exemple :

personne = {
    'nom': 'dupont',
    'prenom': 'jean',
    'adresse': {
        'ville': 'paris'
    }
}
print(personne.keys())  # dict_keys(['nom', 'prenom', 'adresse'])

Attention ! Un dict_keys n'est pas une liste, il s'agit d'un objet particulier appelé une vue. C'est un objet itérable :

personne = {
    'nom': 'dupont',
    'prenom': 'jean',
    'adresse': {
        'ville': 'paris'
    }
}

for clé in personne.keys():
    print(clé)

...mais il n'est pas possible d'y accéder par index :

personne = {
    'nom': 'dupont',
    'prenom': 'jean',
    'adresse': {
        'ville': 'paris'
    }
}
print(personne.keys()[0])  # TypeError: 'dict_keys' object is not subscriptable

Si vous en avez besoin vous pouvez cependant convertir la vue en liste :

personne = {
    'nom': 'dupont',
    'prenom': 'jean',
    'adresse': {
        'ville': 'paris'
    }
}

print(list(personne.keys())[0])  #  nom

La méthode values()

La méthode values() renvoie un objet dict_values contenant les valeurs d'un dictionnaire.

Par exemple :

personne = {
    'nom': 'dupont',
    'prenom': 'jean',
    'adresse': {
        'ville': 'paris'
    }
}
print(personne.values())  # dict_values(['dupont', 'jean', {'ville': 'paris'}])

Même chose, l'objet dict_values est une vue et n'est pas une liste. Il est également itérable :

personne = {
    'nom': 'dupont',
    'prenom': 'jean',
    'adresse': {
        'ville': 'paris'
    }
}

for valeur in personne.values():
    print(valeur)

La méthode items()

La méthode items() renvoie un objet dict_items contenant les clés et les valeurs d'un dictionnaire :

personne = {
    'nom': 'dupont',
    'prenom': 'jean',
    'adresse': {
        'ville': 'paris'
    }
}

print(personne.items())
# dict_items([('nom', 'dupont'), ('prenom', 'jean'), ('adresse', {'ville': 'paris'})])

Pour itérer sur les clés et les valeurs nous utilisons souvent cette méthode :

personne = {
    'nom': 'dupont',
    'prenom': 'jean',
    'adresse': {
        'ville': 'paris'
    }
}


for clé, valeur in personne.items():
    print(f'La valeur de la clé "{clé}"" est "{valeur}"')