Maison  >  Article  >  développement back-end  >  Comment créer un dictionnaire de listes en Python

Comment créer un dictionnaire de listes en Python

WBOY
WBOYavant
2023-08-26 13:01:132853parcourir

Comment créer un dictionnaire de listes en Python

Un dictionnaire en Python est une collection de données stockées sous forme de paires clé-valeur. Nous pouvons attribuer différents types de données comme valeurs pour les clés. Il aide les codeurs à stocker les données et les genres de catégories et à créer la base de données en conséquence.

D'un autre côté, les listes stockent également des données, mais ici les éléments ne sont pas associés à plusieurs valeurs. Les dictionnaires et les listes sont tous deux indexés. Dans les listes, nous stockons les données sous forme de séquences, et ces séquences peuvent être parcourues et manipulées.

Dans cet article, nous allons fusionner ces deux formats et créer un dictionnaire de listes. Avant d’aborder le sujet, faisons un rapide aperçu de cet article.

Créer un dictionnaire

Pour la création de dictionnaire, nous utilisons des accolades "{}". Regardons la syntaxe -

dict1 = {"Car": "AUDI"}

Ici, « Voiture » ​​est la clé et « AUDI » est la valeur clé.

Créez une liste

Pour la création de listes, nous utilisons des crochets "[]". Regardons la syntaxe -

lis1 = ["Name", "age", "gender", "qualification"]

Ici, « nom », « âge », « sexe » et « qualification » sont des éléments de la liste « lis1 ».

Lorsque nous essayons de combiner ces formats pour générer un dictionnaire de listes, cela signifie que nous devons traiter les listes comme des paires clé-valeur. Mais la question est de savoir si la liste agit comme des clés ou des valeurs. La règle d'attribution d'une clé est qu'elle doit être « immuable » ou immuable.

Par conséquent, une liste ne peut pas servir de clé de dictionnaire. Ainsi, lorsqu'il s'agit d'un dictionnaire de listes, nous traitons les listes comme des « valeurs » de clés immuables.

Différentes façons de créer un dictionnaire de listes

Attribuez des valeurs à la liste sous forme d'indices

Dans cette méthode, nous nommons directement les clés et leur attribuons une liste de valeurs. Voyons sa mise en œuvre -

Exemple

dict1 = {}
dict1["Name"] = ["RAM", "RAVI", "TARUN", "MOHAN"] #assigning 1st key
dict1["Age"] = [22, 23, 18, 27] #assigning 2nd key
print(dict1)

Sortie

{'Name': ['RAM', 'RAVI', 'TARUN', 'MOHAN'], 'Age': [22, 23, 18, 27]} 

Ici, nous créons un dictionnaire vide puis attribuons les valeurs clés en externe. "Nom" est la première clé et "Age" est la deuxième clé.

Si nous inversons l'ordre, c'est-à-dire que nous spécifions liste comme clé de ce dictionnaire, alors voyons ce qui se passe -

Exemple

dict1 = {["Name", "Age", "Gender"]: "RAVI"}

Sortie

dict1 = {["Name", "Age", "Gender"]: "RAVI"}
TypeError: unhashable type: 'list'  

génère une erreur car les listes ne sont pas de nature immuable et ne peuvent donc pas être utilisées comme clés.

Utilisez la méthode dict ou defaultdict

Les méthodes

dict() et defaultdict peuvent être utilisées pour générer des dictionnaires de liste. Voyons la mise en œuvre -

Exemple

from collections import defaultdict
lis1 = [("Name", "Arjun"), ("Age", 22), ("Age", 23), ("Age", 28), ("Name", "RAVI"),("Name", "ADITYA")]
dict1 = defaultdict(list)
for keys, values in lis1:
   dict1[keys].append(values)
print(dict1)

Sortie

defaultdict(<class 'list'>, {'Name': ['Arjun', 'RAVI', 'ADITYA'], 'Age': [22, 23, 28]})
  • La chose intéressante à propos de cette méthode est qu'elle permet de transmettre les informations de la liste entre parenthèses pour chaque valeur. Cela signifie que pour une tranche donnée, nous ne pouvons transmettre qu’une seule valeur clé.

  • Si nous voulons incrémenter la valeur de la clé, nous avons besoin d'un nouveau support avec le nom de clé correct. Cela augmente la lisibilité du programme.

  • Ici, nous avons importé le module collections pour utiliser la méthode "defaultdict". Nous avons transmis la liste dans le bon ordre d'information. Nous utilisons la méthode defaultdict pour ce faire car elle est plus efficace et crée une valeur par défaut au cas où une clé serait manquante. Nous parcourons la liste et ajoutons chaque paire clé et valeur au dictionnaire.

Utilisez la méthode par défaut définie

La méthode

setdeafault() est utilisée pour renvoyer la valeur du dictionnaire associée à la clé donnée. La particularité de cette méthode est que si la clé spécifiée n'existe pas, elle crée cette clé spécifique en l'insérant. Voyons la mise en œuvre -

Exemple

dict1 = {}
lis1 = [23, 24, 28, 12, 22]
for key in lis1:
   for values in range(int(key), int(key)+4):
      dict1.setdefault(values, []).append(key)
print(dict1)

Sortie

{23: [23, 22], 24: [23, 24, 22], 25: [23, 24, 22], 26: [23, 24], 27: [24], 28: [28], 29: [28], 30: [28], 31: [28], 12: [12], 13: [12], 14: [12], 15: [12], 22: [22]}

En utilisant cette méthode, nous pouvons créer un enregistrement pour chaque clé. Le problème avec cette approche est le choix du type de données, seules les entrées numériques peuvent être considérées comme des valeurs de plage.

Ici,

  • Nous créons un dictionnaire vide puis lui transmettons une liste dans laquelle les informations sont stockées.

  • Nous parcourons la liste et séparons les clés et les valeurs. Nous créons chaque entrée numérique sous forme de clé, puis après avoir utilisé une autre "boucle for", nous définissons la plage d'initialisation de la valeur.

  • Nous ajoutons les valeurs et leurs clés au dictionnaire vide.

  • Enfin, nous avons imprimé le dictionnaire.

Conclusion

Dans cet article, nous avons découvert les concepts de base de la création et du traitement de dictionnaires. Nous avons discuté de diverses méthodes de création d'un dictionnaire de listes et examiné les complexités et les limites de chaque méthode.

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:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer