Cours - dictionnaires Python

Cards (10)

  • Types construits
    Types de données plus complexes que les types de base (entier, booléens, ...)
  • Types construits associés à Python
    • Listes (ou tableaux)
    • Tuples (ou p-uplets)
    • Dictionnaires
  • Dictionnaires
    • Structures de données permettant d'associer des valeurs à des clés
    • La recherche d'une valeur se fait exclusivement à partir de sa clé
    • Les dictionnaires ne sont pas accessibles par un indice (car pas des séquences)
    • La clé associée à une valeur doit être unique
    • Les clés doivent être des objets non mutables (nombre, tuple, string, ...)
  • Création d'un dictionnaire
    • Format global: dico = {cle_1: valeur1, cle_2: valeur2, ..., cle_n: valeur_n}
    • dico vide: dico = {}
    • Exemple: dictPrix = {"pizza": 4.20, "chips": 1.50, "laitue": 0.85}
    • On accèdera au prix de la laitue par : dictPrix["laitue"]
  • Modification, ajout d'éléments, et parcours de dictionnaires
    1. Modification d'une valeur (ex clé chips: dictPrix["chips"] = 1.70)
    2. Ajout d'un enregistrement clef:valeur (ex clé soupe; prix 2.45 : dictPrix["soupe"] = 2.45)
    3. Suppression d'un enregistrement associé à une clef donnée (ex clé soupe : dictPrix.pop("soupe")
    4. Itération sur les clefs (ex: for clef in dictPrix.keys(): # Ou for clef in dictPrix:
    print(clef))
  • Aide-mémoire: Opérations sur les dictionnaires
    • s[k] --> Renvoie la valeur associée à la clé k (dico s)
    • x in s.values() --> Renvoie True si une valeur de s est égale à x, False sinon
    • x not in s.values() --> Renvoie True aucune valeur de s n'est égale à x, False sinon
    • x in s.keys() --> Renvoie True si une clef de s est égale à x, False sinon
  • 5. Itération sur les valeurs (ex: for val in dictPrix.values():print(val))6. Itération sur les couples clef/valeur (ex: for (clef, val) in dictPrix.items():print(clef, "--->", val))
  • 10. Vérification si une clé existe déjà dans le dictionnaire avant l'ajout (ex: if "Cerise" in dictPrix:
  • On peut combiner les listes, les tuples et les dictionnaires, dans des structures imbriquées complexes.
    Exemple d'une liste de tuples :
    coord = [(1,-8), (3,4),(-2,5)]
    coord[1] ---> (3,4)
    coord[1][0] ---> 3
  • s[k] = v --> Modifie la valeur v associée à la clé k ou l'ajoute si elle n'existe pas déjà
    s.get(k, v) --> Renvoie la valeur associée à la clé k. Si la clé k n'existe pas, renvoie la valeur v
    s.pop(k) --> Enlève l'enregistrement de clé k du dictionnaire et renvoie la valeur associée