Maison >développement back-end >Tutoriel Python >Comment puis-je stocker des clés en double dans un dictionnaire Python ?

Comment puis-je stocker des clés en double dans un dictionnaire Python ?

Susan Sarandon
Susan Sarandonoriginal
2024-12-21 09:42:15412parcourir

How Can I Store Duplicate Keys in a Python Dictionary?

Stockage de clés en double dans les dictionnaires Python

La création de dictionnaires avec des clés en double n'est pas prise en charge nativement dans Python. Les dictionnaires, de par leur conception, associent des clés uniques aux valeurs correspondantes.

Cependant, vous pouvez utiliser certaines techniques pour remédier à cette limitation. Une approche consiste à stocker des listes ou des ensembles dans le dictionnaire.

Utilisation des dictionnaires par défaut

Les dictionnaires par défaut, importés du module collections, sont des dictionnaires qui renvoient une valeur par défaut pour les clés inexistantes. Vous pouvez initialiser un dictionnaire par défaut pour stocker des listes ou des ensembles, vous permettant d'associer plusieurs valeurs à la même clé :

from collections import defaultdict

data_dict = defaultdict(list)

Manipulation des éléments du dictionnaire par défaut

Pour stocker les valeurs associées à une clé, ajoutez-les à la liste dans le dictionnaire par défaut :

regNumber = "ABC234"
details = ("Fred Greenside", "2345", "AgHort_Parking")
data_dict[regNumber].append(details)

Exemple de code

Voici une version modifiée de votre code, en utilisant un dictionnaire par défaut pour stocker les numéros d'enregistrement et leurs données associées :

from collections import defaultdict

data_dict = defaultdict(list)

with open("ParkingData_Part3.txt") as file:
    data_list = [lines.split(",") for lines in file.readlines()]

for line in data_list:
    regNumber = line[0]
    name = line[1]
    phoneExtn = line[2]
    carpark = line[3].strip()
    details = (name, phoneExtn, carpark)
    data_dict[regNumber].append(details)

print(data_dict)

Ce code créera un dictionnaire où les numéros d'enregistrement sont des clés, et chaque clé correspond à une liste de valeurs associées.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn