Publicité

Un dictionnaire python est une structure de données similaire à un tableau associatif trouvé dans d'autres langages de programmation. Un tableau ou une liste indexe les éléments par position. Un dictionnaire, en revanche, indexe les éléments par clés qui peut être des chaînes. Considérez un dictionnaire comme des ensembles non ordonnés de valeur clé paires.

un dictionnaire python paires clé-valeur

Dans cet article, nous vous présentons comment travailler avec le dictionnaire python.

Création d'un dictionnaire

Il existe plusieurs façons de créer un dictionnaire python. Le plus simple utilise l'initialisation d'accolade, avec une syntaxe rappelle JSON Comment obtenir Python et JavaScript pour communiquer à l'aide de JSONAujourd'hui, je vais vous montrer comment utiliser JSON pour envoyer des données de JavaScript à Python. Je vais vous expliquer comment configurer un serveur Web, ainsi que tout le code dont vous avez besoin. Lire la suite .

users = {'firstname': 'John', 'lastname': 'Smith', 'age': 27}

Vous pouvez également utiliser des chiffres comme clés. Cependant, soyez prudent en utilisant des nombres à virgule flottante comme clés, car le

instagram viewer
l'ordinateur les stocke comme approximations Tout ce que vous devez savoir sur la gestion de la RAM et de la mémoireLa RAM est la mémoire à court terme de votre ordinateur. Par conséquent, la gestion de la mémoire a un impact significatif sur les performances du système. Nous expliquons ici comment fonctionne la RAM et si vous pouvez faire quelque chose pour augmenter son efficacité. Lire la suite .

rain_percent = {1980: '17% ', 1981: '15%', 1982: '10% '} imprimer rain_percent. print rain_percent [1980] # impressions. {1980: '17%', 1981: '15%', 1982: '10%'} 17%

Spécification de paires de valeurs-clés

Vous pouvez également créer et initialiser un dictionnaire en utilisant des paires nom-valeur comme arguments de mot-clé dict () constructeur.

population = dict (Californie = 37253956, Colorado = 5029196, Connecticut = 3574097, Delaware = 897934) population d'impression. # impressions. {'Connecticut': 3574097, 'Delaware': 897934, 'California': 37253956, 'Colorado': 5029196}

Tableau de tuples de valeur-clé

Une autre façon de créer un dictionnaire consiste à utiliser un tableau de tuples de valeurs-clés. Voici le même exemple que ci-dessus.

paires = [('Californie', 37253956), ('Colorado', 5029196), ('Connecticut', 3574097), ('Delaware', 897934)] population = dict (paires) population d'impression. # impressions. {'Connecticut': 3574097, 'Delaware': 897934, 'California': 37253956, 'Colorado': 5029196}

Compréhension du Dict

La compréhension des dictés fournit une syntaxe intéressante pour initialiser un dict si vous pouvez calculer les valeurs en fonction des clés. Ce qui suit initialise un dict de nombres et de valeurs carrées pour une plage de nombres.

imprimer {x: x ** 2 pour x dans xrange (10, 20)} # impressions. {10: 100, 11: 121, 12: 144, 13: 169, 14: 196, 15: 225, 16: 256, 17: 289, 18: 324, 19: 361}

Comment ça marche? La dernière partie (pour x dans xrange (10, 20)) renvoie une plage de nombres dans la plage spécifiée. La partie compréhension du dict ({x: x ** 2 ..}) parcourt cette plage et initialise le dictionnaire.

Travailler avec un dictionnaire Python

Que pouvez-vous faire avec les dictionnaires une fois que vous les avez créés? Eh bien, vous pouvez accéder aux éléments, mettre à jour les valeurs, supprimer des éléments, etc.

Accès aux éléments du dictionnaire Python

Accédez à un élément d'un dict en utilisant la touche entre crochets, comme vous le feriez un tableau ou une liste Fonctionnement des tableaux et des listes en PythonLes tableaux et les listes sont parmi les structures de données les plus utiles dans la programmation - bien que peu de gens les utilisent à leur plein potentiel. Lire la suite .

population imprimée ['Delaware'] # impressions. 897934.

Si la clé est un nombre, vous n'avez pas besoin des guillemets. L'expression semble alors ressembler à une indexation de liste ou de tableau.

print rain_percent [1980] # impressions. 17%

Le type de la clé lors de l'accès doit correspondre à ce qui est stocké dans le dictionnaire Python. Ce qui suit provoque une erreur car les clés stockées sont des nombres tandis que la clé d'accès est une chaîne.

x = '1980' print rain_percent [x] # résulte en 1 x = '1980' > 2 print rain_percent [x] KeyError: '1980'

Accéder à une clé inexistante est une erreur.

rain_percent = {1980: '17% ', 1981: '15%', 1982: '10% '} print rain_percent [1983] # imprime 1 rain_percent = {1980: '17% ', 1981: '15%', 1982: '10% '} > 2 print rain_percent [1983] KeyError: 1983.

Pour accéder à une clé et fournir une valeur par défaut si le mappage n'existe pas, utilisez le avoir() avec la valeur par défaut comme deuxième argument.

print rain_percent.get (1985, '0%') # impressions. 0%

Vérification de l'existence

Que faire si vous souhaitez vérifier la présence d'une clé sans réellement tenter d'y accéder (et éventuellement rencontrer un KeyError comme ci-dessus)? Vous pouvez utiliser le dans mot-clé dans le formulaire clé en dct qui renvoie un booléen.

imprimer 1980 en pluie_percent. imprimer '1980' dans rain_percent. # impressions. Vrai. Faux. 

Inversez la condition (c'est-à-dire assurez-vous que la clé n'est pas présente dans le dictionnaire Python) en utilisant le formulaire clé pas en dct. Ceci équivaut à la négation standard de python ne saisissez pas dct.

imprimer 1980 pas dans rain_percent. imprimer 1985 pas dans rain_percent. # impressions. Faux. Vrai. 

Modification des éléments

Modifiez la valeur en l'affectant à la clé requise.

users = {'firstname': 'John', 'lastname': 'Smith', 'age': 27} utilisateurs ['age'] = 29. utilisateurs d'impression. # impressions. {'nom': 'Smith', 'age': 29, 'prénom': 'John'}

Utilisez la même syntaxe pour ajouter un nouveau mappage au dictionnaire Python.

users ['dob'] = '15 -sep-1971 ' utilisateurs d'impression. # impressions. {'dob': '15 -sep-1971 ',' lastname ':' Smith ',' age ': 29,' firstname ':' John '}

Mettez à jour plusieurs éléments d'un dictionnaire en une seule fois à l'aide du mettre à jour() méthode.

users = {'firstname': 'John', 'lastname': 'Smith', 'age': 27} users.update ({'age': 29, 'dob': '15 -sep-1971 '}) utilisateurs d'impression. # impressions. {'dob': '15 -sep-1971 ',' lastname ':' Smith ',' age ': 29,' firstname ':' John '}

Définissez une valeur par défaut pour une clé à l'aide de définir par defaut(). Cette méthode définit la valeur de la clé si le mappage n'existe pas. Il renvoie la valeur actuelle.

# ne change pas la valeur actuelle. print users.setdefault ('prénom', 'Jane') # impressions. John # définit la valeur. print users.setdefault ('ville', 'NY') # impressions. NY # Valeur finale. utilisateurs d'impression. # impressions. {'nom': 'Smith', 'age': 27, 'prénom': 'John', 'ville': 'NY'}

Supprimer des éléments

Supprimez les mappages dans le dictionnaire en utilisant le del opérateur. Cet opérateur ne retourne rien.

Vous rencontrerez un KeyError si la clé n'existe pas dans le dictionnaire.

users = {'firstname': 'John', 'lastname': 'Smith', 'age': 27} del users ['age'] utilisateurs d'impression. # impressions. {'nom': 'Smith', 'prénom': 'John'}

Utilisez le pop() à la place, lorsque vous souhaitez récupérer la valeur supprimée.

users = {'firstname': 'John', 'lastname': 'Smith', 'age': 27} print users.pop ('age') utilisateurs d'impression. # impressions. 27. {'nom': 'Smith', 'prénom': 'John'}

Que faire si vous souhaitez supprimer une clé si elle existe, sans provoquer d'erreur si elle n'existe pas? Vous pouvez utiliser pop() et précisez Aucun pour le deuxième argument comme suit:

users = {'firstname': 'John', 'lastname': 'Smith', 'age': 27} users.pop ('foo', Aucun) utilisateurs d'impression. # impressions. {'nom': 'Smith', 'age': 27, 'prénom': 'John'}

Et voici une ligne pour supprimer un trousseau de clés d'un dictionnaire sans provoquer d'erreur sur les clés inexistantes.

users = {'firstname': 'John', 'lastname': 'Smith', 'age': 27, 'dob': '15 -sep-1971 '} map (lambda x: users.pop (x, None), ['age', 'foo', 'dob'])) utilisateurs d'impression.

Vous souhaitez supprimer toutes les clés d'un dictionnaire? Utilisez le clair() méthode.

users = {'firstname': 'John', 'lastname': 'Smith', 'age': 27} users.clear () utilisateurs d'impression. # impressions. {}

Boucler avec les dictionnaires Python

Python fournit de nombreux méthodes de bouclage Fonctionnement des boucles Do-While en programmation informatiqueLes boucles sont l'un des premiers types de contrôle que vous apprendrez en programmation. Vous connaissez probablement les boucles while et for, mais qu'est-ce qu'une boucle do-while accomplit? Lire la suite sur les entrées d'un dictionnaire. Choisissez-en un en fonction de vos besoins.

Boucle sur les clés

  • La méthode la plus simple pour traiter les clés (et éventuellement les valeurs) en séquence utilise une boucle de la forme:
    users = {'firstname': 'John', 'lastname': 'Smith', 'age': 27} pour k dans les utilisateurs: imprimer k, '=>', utilisateurs [k] # impressions. nom => Smith. âge => 27. prénom => John.
  • Utilisation de la méthode iterkeys () fonctionne exactement comme ci-dessus. Faites votre choix quant au formulaire que vous souhaitez utiliser.
    users = {'firstname': 'John', 'lastname': 'Smith', 'age': 27} pour k dans users.iterkeys (): print k, '=>', users [k] # impressions. nom => Smith. âge => 27. prénom => John.
  • Une troisième méthode pour récupérer et traiter des clés dans une boucle consiste à utiliser la fonction intégrée iter ().
    users = {'firstname': 'John', 'lastname': 'Smith', 'age': 27} pour k dans iter (utilisateurs): affichez k, '=>', utilisateurs [k] # impressions. nom => Smith. âge => 27. prénom => John.
  • Lorsque vous avez besoin de l'index de la clé en cours de traitement, utilisez le énumérer() fonction intégrée comme indiqué.
    users = {'firstname': 'John', 'lastname': 'Smith', 'age': 27} pour index, clé en énumérer (utilisateurs): imprimer index, clé, '=>', utilisateurs [k] # impressions. 0 nom => John. 1 âge => John. 2 prénom => John.

Boucle sur des paires valeur-clé

  • Lorsque vous souhaitez récupérer chaque paire clé-valeur avec un seul appel, utilisez iteritems ().
    users = {'firstname': 'John', 'lastname': 'Smith', 'age': 27} pour k, v dans users.iteritems (): affichez k, '=>', v. # impressions. nom => Smith. âge => 27. prénom => John.

Itération sur les valeurs

  • La méthode itervalues ​​() peut être utilisé pour parcourir toutes les valeurs du dictionnaire. Bien que cette méthode ressemble à une boucle utilisant valeurs(), il est plus efficace car il n'extrait pas toutes les valeurs à la fois.
    users = {'firstname': 'John', 'lastname': 'Smith', 'age': 27} for value in users.itervalues ​​(): valeur d'impression. # impressions. Forgeron. 27. John.

Extraction de tableaux

Les méthodes suivantes décrivent l'extraction de diverses informations de dictionnaire Python sous forme de tableau. Le tableau résultant peut être bouclé en utilisant des constructions python normales. Cependant, gardez à l'esprit que le tableau renvoyé peut être volumineux en fonction de la taille du dictionnaire. Alors ça pourrait être plus cher (en mémoire) pour traiter ces tableaux que d'utiliser les méthodes d'itérateur ci-dessus.

Un cas où il est acceptable de travailler avec ces tableaux est lorsque vous devez supprimer des éléments du dictionnaire lorsque vous rencontrez des éléments indésirables. Travailler avec un itérateur tout en modifiant le dictionnaire peut provoquer une erreur d'exécution.

  • La méthode articles() renvoie un tableau de tuples de valeur-clé. Vous pouvez parcourir ces paires clé-valeur comme indiqué:
    users = {'firstname': 'John', 'lastname': 'Smith', 'age': 27} pour k, v dans users.items (): affichez k, '=>', v. # impressions. nom => Smith. âge => 27. prénom => John.
  • Récupérez toutes les clés du dictionnaire en utilisant la méthode clés().
    users = {'firstname': 'John', 'lastname': 'Smith', 'age': 27} imprimer users.keys () # impressions. ['nom', 'âge', 'prénom']

    Utilisez le tableau retourné pour parcourir les clés.

    pour k dans users.keys (): affichez k, '=>', utilisateurs [k] # impressions. nom => Smith. âge => 27. prénom => John.
  • De la même manière, utilisez la méthode valeurs() pour récupérer toutes les valeurs du dictionnaire.
    for value in users.values ​​(): valeur d'impression. # impressions. Forgeron. 27. John. 

Comment utilisez-vous les dictionnaires Python?

Nous avons essayé de couvrir les cas d'utilisation les plus courants pour les dictionnaires python dans cet article. Assurez-vous de consulter tous nos autres articles sur Python 10 exemples de base de Python qui vous aideront à apprendre rapidementCet article d'exemples de base en python est destiné à ceux qui ont déjà une certaine expérience en programmation et qui souhaitent simplement passer à Python le plus rapidement possible. Lire la suite même pour plus de conseils Python 5 cours qui vous feront passer de Python débutant à proCes cinq cours vous apprendront tout sur la programmation en Python, l'un des langages les plus en vogue actuellement. Lire la suite . Si vous pensez que d'autres cas d'utilisation devraient être inclus, veuillez nous en informer dans les commentaires ci-dessous!

Crédits image: viper345 / Shutterstock