★ À maîtriser
Compléments
📌 Python ne possède pas nativement le type p-uplet nommé, qui peut être représenté par le module collections.namedtuple ou, dans ce cours, par un dictionnaire.
Descripteur plutôt qu’indice
★ À maîtriser
🔄 Processus — Pour lire une ligne de fichier CSV séparée par des points-virgules, il faut supprimer les espaces de fin avec strip(), puis séparer les champs avec split(";").
🔄 Processus — Si la première ligne contient les noms des colonnes, il faut la lire, la découper avec split(";"), puis utiliser chaque nom comme clé pour construire automatiquement les dictionnaires des lignes suivantes.
Compléments
🔄 Processus — Lorsque les quatre premières colonnes sont nom, DS1, DS2 et projet, chaque ligne peut être transformée en dictionnaire en associant ces clés aux éléments de données[0] à données[3].
Lire, découper, associer
★ À maîtriser
📐 Formule — La moyenne calculée pour chaque élève est (DS1 + DS2 + 2 × projet) / 4.
🔄 Processus — Pour calculer cette moyenne, les valeurs des champs DS1, DS2 et projet sont converties en flottants avant l’application de la formule.
Compléments
🔄 Processus — La fonction extrait_données ouvre le fichier, construit un tableau de dictionnaires, ferme le fichier et renvoie ce tableau.
La fonction notes_et_moyennes ajoute à chaque dictionnaire un champ nommé moyenne.
Une amélioration proposée consiste à ajouter au fichier CSV une ligne indiquant le type de chaque colonne parmi DS, DM, projet et autre afin d’automatiser la sélection des colonnes, les conversions et les coefficients.
Convertir puis calculer
★ À maîtriser
🔄 Processus — Les opérations fondamentales d’un dictionnaire sont la création d’un dictionnaire vide, l’ajout ou la modification d’une association et la lecture de la valeur associée à une clé.
📌 La lecture d’une clé à laquelle aucune valeur n’est associée déclenche une erreur.
Compléments
📌 Un dictionnaire est surtout utile pour rechercher rapidement une clé précise, tandis qu’un tableau convient également pour parcourir toutes les données.
Clé → valeur
★ À maîtriser
🔄 Processus — En Python, on crée un dictionnaire vide avec d = {}, on associe v à c avec d[c] = v et on lit la valeur avec d[c].
🔄 Processus — En Python, c in d teste la présence d’une clé, del d[c] supprime son entrée et d.pop(c) la supprime en renvoyant la valeur supprimée.
Compléments
🔄 Processus — La méthode keys permet de parcourir les clés avec une boucle for c in d.keys().
📌 Les dictionnaires Python sont modifiables, ce qui impose de tenir compte des effets des copies et des procédures qui les modifient.
Présence rapide, accès direct
★ À maîtriser
🔄 Processus — Pour dépouiller une urne en un seul parcours, un dictionnaire associe chaque nom de candidat à son nombre de voix.
🔄 Processus — La procédure incr_dico incrémente la valeur d’une clé déjà présente et initialise cette valeur à 1 lorsque la clé est absente.
🔄 Processus — La fonction dépouillement parcourt l’urne, met à jour le dictionnaire des voix, puis conserve le nom dont le nombre de voix est strictement supérieur au maximum courant.
Compléments
📌 La fonction dépouillement ne traite pas le cas de deux vainqueurs ex æquo.
Compter puis comparer
★ À maîtriser
🔄 Processus — Pour rechercher une clé dans une table de hachage, on calcule son hachage afin de déterminer la case dans laquelle se trouve sa valeur.
Compléments
📌 Python agrandit automatiquement la table lorsque le rapport entre le nombre d’éléments et le nombre de cases devient supérieur à 2/3.
Hacher pour ranger
★ À maîtriser
🔄 Processus — La fonction compte construit un dictionnaire associant chaque valeur du tableau à son nombre d’occurrences et détermine simultanément son minimum et son maximum.
🔄 Processus — La fonction tri_dénombrement parcourt toutes les valeurs de l’intervalle [mini, maxi], puis ajoute chaque valeur dans le tableau résultat autant de fois que l’indique le dictionnaire.
📐 Formule — Pour un tableau de n éléments, de minimum m et de maximum M, la complexité du tri par dénombrement est O(n + M − m).
Compléments
🔄 Processus — La méthode get(i, 0) renvoie la valeur associée à i ou 0 lorsque i n’est pas une clé du dictionnaire.
Compter, parcourir, reconstruire
Opérations fondamentales des dictionnaires
| Opération | Syntaxe Python | Effet |
|---|---|---|
| Création | d = {} | Crée un dictionnaire vide |
| Association | d[c] = v | Associe v à la clé c |
| Lecture | d[c] | Renvoie la valeur associée |
| Test | c in d | Teste la présence de c |
| Suppression | del d[c] ou d.pop(c) | Supprime l’entrée de c |
Test your knowledge on P-uplets nommés et dictionnaires with 23 multiple-choice questions with detailed corrections.
1. Comment reconnaître un p-uplet nommé par rapport à un p-uplet classique ?
2. Si un dictionnaire contient les paires {"nom": "X", "prenom": "Monsieur", "age": 47}, quelle instruction permet d’obtenir la valeur du champ age ?
Memorize the key concepts of P-uplets nommés et dictionnaires with 45 interactive flashcards.
Qu'est-ce qu'un p-uplet nommé en Python ?
Un p-uplet nommé a des composantes accessibles par un descripteur.
Quel avantage apporte l'utilisation de p-uplets nommés ?
Ils améliorent la lisibilité du code et réduisent les erreurs.
Python possède-t-il nativement un type p-uplet nommé ?
Non, Python ne possède pas nativement ce type.
Import your course and AI generates sheets, quizzes and flashcards in 30 seconds.
Sheet generator