Création de dictionnaires avec des clés en double en Python
De nombreuses structures de données dans les langages de programmation, tels que les dictionnaires, ne prennent pas en charge les clés en double. Cependant, il existe des moyens de contourner cette limitation en Python.
Considérez le scénario suivant dans lequel vous disposez d'un fichier texte contenant des numéros d'immatriculation de voiture en double avec des valeurs différentes :
EDF768, Bill Meyer, 2456, Vet_Parking TY5678, Jane Miller, 8987, AgHort_Parking GEF123, Jill Black, 3456, Creche_Parking ABC234, Fred Greenside, 2345, AgHort_Parking GH7682, Clara Hill, 7689, AgHort_Parking JU9807, Jacky Blair, 7867, Vet_Parking KLOI98, Martha Miller, 4563, Vet_Parking ADF645, Cloe Freckle, 6789, Vet_Parking DF7800, Jacko Frizzle, 4532, Creche_Parking WER546, Olga Grey, 9898, Creche_Parking HUY768, Wilbur Matty, 8912, Creche_Parking EDF768, Jenny Meyer, 9987, Vet_Parking TY5678, Jo King, 8987, AgHort_Parking JU9807, Mike Green, 3212, Vet_Parking
L'objectif est pour créer un dictionnaire en utilisant les numéros d'enregistrement comme clés et les données (hors numéro d'enregistrement) comme valeurs. Cependant, les dictionnaires traditionnels en Python écraseront l'ancienne valeur lorsque des doublons sont rencontrés.
Utiliser defaultdict pour les clés en double
Une solution consiste à utiliser le defaultdict de la bibliothèque de collections , qui nous permet de stocker des listes ou des ensembles de valeurs associés à une clé.
from collections import defaultdict data_dict = defaultdict(list)
Au lieu de définir une valeur unique pour une clé, nous ajoutez la nouvelle valeur à la liste associée à cette clé :
data_dict[regNumber].append(details)
De cette façon, le dictionnaire contiendra des listes de valeurs pour les clés en double, permettant ainsi d'associer plusieurs valeurs à la même clé.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!