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
Libérer: 2024-12-21 09:42:15
original
409 Les gens l'ont consulté

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)
Copier après la connexion

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)
Copier après la connexion

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)
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal