Maison développement back-end Tutoriel Python Utilisation dans le dictionnaire Python que vous devez connaître

Utilisation dans le dictionnaire Python que vous devez connaître

Nov 28, 2019 pm 05:12 PM
字典 用法

La version Python de cet article est 3.7.X Avant de lire cet article, vous devez comprendre l'utilisation de base du dictionnaire Python.

Utilisation dans le dictionnaire Python que vous devez connaître

Introduction

Le dictionnaire (dict) est une structure de données intégrée à Python, composée de plusieurs paires clé-valeur. (clé) et valeur (valeur) sont séparés par des deux-points, chaque paire clé-valeur est séparée par des virgules (,), l'intégralité du dictionnaire est incluse entre accolades ({}), la clé doit être unique et la valeur peut être de n'importe quel type. Mais les clés doivent être de type immuable comme une chaîne, un nombre ou un tuple.

Recommandé : "Tutoriel Python"

La couche inférieure utilise une table de hachage pour associer les clés et la valeur, dict n'est pas ordonné. Les fonctionnalités incluent :

● La vitesse de recherche et d'insertion est extrêmement rapide et ne ralentira pas à mesure que le nombre de clés augmente

● Elle nécessite plus de mémoire

Donc, dictez ; est une structure de données qui échange de l'espace contre du temps et est utilisée dans des scénarios où une recherche rapide est requise.

Opération : méthodes courantes

get()

Renvoyer la valeur de la clé spécifiée Si la clé n'existe pas, renvoyer la valeur par défaut. (la valeur par défaut est None ) sans signaler d'erreur, la syntaxe est dict.get(key).

dict_1['age'] = 24
In [7]: print(dict_1.get('age'))
24
In [11]: print(dict_1.get('nama'))
None
In [12]: print(dict_1['nama'])
---------------------------------------------------------------------------
KeyError                                  Traceback (most recent call last)
<ipython-input-12-ef61a380920e> in <module>
----> 1 print(dict_1[&#39;nama&#39;])
KeyError: &#39;nama&#39;
Copier après la connexion

key in dict

Utilisez l'opérateur in pour déterminer si la clé existe dans le dictionnaire. Si elle existe, elle renvoie True, sinon elle renvoie False. la syntaxe est : entrez la clé dans dict .

In [15]: dict_1
Out[15]: {&#39;name&#39;: None, &#39;age&#39;: 24, &#39;sex&#39;: None}
In [16]: print(&#39;name&#39; in dict_1)
True
In [17]: print(&#39;nama&#39; in dict_1)
False
Copier après la connexion

En python 2, cette fonction est implémentée à l'aide de la méthode has_key().

items()

Renvoie un tableau de tuples traversables (clé, valeur) sous forme de liste, la syntaxe est dict.items().

In [18]: dict_1
Out[18]: {&#39;name&#39;: None, &#39;age&#39;: 24, &#39;sex&#39;: None}
In [19]: print(dict_1.items())
dict_items([(&#39;name&#39;, None), (&#39;age&#39;, 24), (&#39;sex&#39;, None)])
In [20]: for key, value in dict_1.items():
    ...:     print(key, value)
    ...:
name None
age 24
sex None
Copier après la connexion

keys()

Renvoie toutes les clés d'un dictionnaire sous forme de liste : dict.keys()

In [21]: dict_1
Out[21]: {&#39;name&#39;: None, &#39;age&#39;: 24, &#39;sex&#39;: None}
In [22]: print(dict_1.keys())
dict_keys([&#39;name&#39;, &#39;age&#39;, &#39;sex&#39;])
Copier après la connexion

values()

Renvoie toutes les valeurs du dictionnaire sous forme de liste : dict.values()

In [27]: dict_1
Out[27]: {&#39;name&#39;: None, &#39;age&#39;: 24, &#39;sex&#39;: None, &#39;sub_name&#39;: &#39;Tony&#39;}
In [28]: print(dict_1.values())
dict_values([None, 24, None, &#39;Tony&#39;])
setdefault()
和get()类似,用户获得与给顶尖相关联的值,不同的是,该方法如果键不存在时会添加键并将值设为默认值,语法为:dict.setdefault(key, default=None)。
In [23]: dict_1
Out[23]: {&#39;name&#39;: None, &#39;age&#39;: 24, &#39;sex&#39;: None}
In [24]: print(dict_1.setdefault(&#39;name&#39;))
None
In [25]: print(dict_1.setdefault(&#39;name&#39;, &#39;Tony&#39;))
None
In [26]: print(dict_1.setdefault(&#39;sub_name&#39;, &#39;Tony&#39;))
Tony
In [27]: dict_1
Out[27]: {&#39;name&#39;: None, &#39;age&#39;: 24, &#39;sex&#39;: None, &#39;sub_name&#39;: &#39;Tony&#39;}
Copier après la connexion

update()

La syntaxe est : dict_1. update(dict_2) est utilisé pour mettre à jour les paires clé-valeur de dict_2 vers dict_1. S'il y a les mêmes clés, elles seront écrasées.

In [31]: dict_1
Out[31]: {&#39;name&#39;: None, &#39;age&#39;: 24, &#39;sex&#39;: None, &#39;sub_name&#39;: &#39;Tony&#39;}
In [32]: dict_2
Out[32]: {&#39;name&#39;: &#39;Mary&#39;, &#39;age&#39;: 18, &#39;sex&#39;: None, &#39;sub_name&#39;: &#39;&#39;}
In [33]: dict_1.update(dict_2)
In [34]: dict_1
Out[34]: {&#39;name&#39;: &#39;Mary&#39;, &#39;age&#39;: 18, &#39;sex&#39;: None, &#39;sub_name&#39;: &#39;&#39;}
Copier après la connexion

clear()

Supprimez tous les éléments du dictionnaire, dict.clear(), par exemple :

In [1]: dict_1 = dict(name="Tony", age=24)
In [2]: dict_2 = dict_1
In [3]: print(dict_2)
{&#39;name&#39;: &#39;Tony&#39;, &#39;age&#39;: 24}
In [4]: dict_2.clear()
In [5]: dict_2
Out[5]: {}
In [6]: dict_1
Out[6]: {}
Copier après la connexion

copie ( )

Copie superficielle du dictionnaire original, renvoyant un nouveau dictionnaire avec les mêmes paires clé-valeur, dict.copy(), par exemple :

In [1]: dict_1 = dict(name=&#39;Tony&#39;, info=[&#39;boy&#39;, 24])
In [2]: dict_3 = dict_1.copy()
In [3]: dict_3[&#39;name&#39;] = "Ring"
In [4]: dict_3[&#39;info&#39;].remove(&#39;boy&#39;)
In [5]: dict_3
Out[5]: {&#39;name&#39;: &#39;Ring&#39;, &#39;info&#39;: [24]}
In [6]: dict_1
Out[6]: {&#39;name&#39;: &#39;Tony&#39;, &#39;info&#39;: [24]}
Copier après la connexion

fromkeys( )

Créez un nouveau dictionnaire, dict.fromkeys(seq[, value]), en utilisant les éléments de la séquence seq comme clés du dictionnaire, et value est la valeur initiale correspondant à toutes les clés dans le dictionnaire, où la valeur correspond aux paramètres de sélection, la valeur par défaut est Aucun. Convient pour l'initialisation des données, par exemple :

In [1]: info = [&#39;name&#39;, &#39;age&#39;, &#39;sex&#39;]
In [2]: dict_1 = dict.fromkeys(info)
In [3]: dict_1
Out[3]: {&#39;name&#39;: None, &#39;age&#39;: None, &#39;sex&#39;: None}
Copier après la connexion

Opérations communes

Fusionner les dictionnaires

Il existe quatre manières :

Traitement général

In [15]: dict_1
Out[15]: {&#39;Tony&#39;: 24}
In [16]: dict_2
Out[16]: {&#39;ben&#39;: 18}
In [17]: dict3 = dict()
In [18]: for key, value in dict_1.items():
    ...:     dict_3[key] = value
    ...:
In [19]: for key, value in dict_2.items():
    ...:     dict_3[key] = value
    ...:
In [20]: dict_3
Out[20]: {&#39;Tony&#39;: 24, &#39;ben&#39;: 18}
Copier après la connexion

update()

In [9]: dict_1
Out[9]: {&#39;Tony&#39;: 24}
In [10]: dict_2
Out[10]: {&#39;ben&#39;: 18}
In [12]: dict_3 = dict_1.copy()
In [13]: dict_3.update(dict_2)
In [14]: dict_3
Out[14]: {&#39;Tony&#39;: 24, &#39;ben&#39;: 18}
Copier après la connexion

Dict(d1, **d2) à l'aide de Méthode du dictionnaire

In [33]: dict_1
Out[33]: {&#39;Tony&#39;: 24}
In [34]: dict_2
Out[34]: {&#39;ben&#39;: 18}
In [35]: dict_3 = dict(dict_1, **dict_2)
In [36]: dict_3
Out[36]: {&#39;Tony&#39;: 24, &#39;ben&#39;: 18}
Copier après la connexion

Avancé

La compréhension du dictionnaire

est similaire à la compréhension de liste, avec l'avantage d'être utilisé au niveau inférieur, la mise en œuvre C sera beaucoup plus rapide et est recommandée.

Échanger les valeurs clés du dictionnaire

Utilisez les compréhensions du dictionnaire pour échanger facilement les valeurs clés d'un dictionnaire :

In [42]: dict_4
Out[42]: {24: &#39;Tony&#39;, 18: &#39;ben&#39;}
In [43]: dict_3
Out[43]: {&#39;Tony&#39;: 24, &#39;ben&#39;: 18}
In [44]: dict_4 = {k:v for v, k in dict_3.items()}
In [45]: dict_4
Out[45]: {24: &#39;Tony&#39;, 18: &#39;ben&#39;}
Copier après la connexion

Extraction du dictionnaire subsets from

veut créer un dictionnaire qui est lui-même un sous-ensemble d'un autre dictionnaire.

Par exemple :

In [88]: a = {&#39;Ben&#39;: 18, &#39;Jack&#39;: 12, &#39;Ring&#39;: 23, &#39;Tony&#39;: 24}
In [89]: b = {k:v for k, v in a.items() if v > 18}
In [90]: b
Out[90]: {&#39;Ring&#39;: 23, &#39;Tony&#39;: 24}
Copier après la connexion

Générer un dictionnaire ordonné

Les dictionnaires avant Python3.6 ne sont pas ordonnés, mais nous devons parfois maintenir l'ordre du dictionnaire, orderDict peut obtenir l'ordre du dictionnaire sur la base de dict. L'ordre fait ici référence à l'arrangement dans l'ordre dans lequel les clés du dictionnaire sont insérées. Cela permet d'obtenir un dict premier entré, premier sorti. la limite est dépassée, la clé ajoutée la plus ancienne est supprimée en premier.

Exemple :

In [49]: from collections import OrderedDict
In [50]: ordered_dict = OrderedDict([(&#39;a&#39;, 2), (&#39;b&#39;, 4), (&#39;c&#39;, 5)])
In [51]: for key, value in ordered_dict.items():
    ...:     print(key, value)
    ...:
a 2
b 4
c 5
Copier après la connexion

Vous pouvez voir que OrderedDict est trié selon l'ordre d'insertion lors de la création du dictionnaire.

Principe : OrderedDict maintient en interne une liste doublement chaînée, qui organise les positions clés en fonction de l'ordre dans lequel les éléments sont ajoutés, ce qui fait que la taille de OrderedDict est plus de deux fois supérieure à celle d'un dictionnaire ordinaire.

Fusionner les dictionnaires avec la même clé dans la liste

C'est-à-dire pour générer ce que l'on appelle le dictionnaire multi-valeurs à une clé, les valeurs multiples correspondantes doivent à enregistrer dans d'autres conteneurs tels que des listes ou une collection, selon que plusieurs valeurs doivent être uniques.

Par exemple :

In [64]: from collections import defaultdict
In [65]: a = [{&#39;a&#39;: 1}, {&#39;b&#39;: 3}, {&#39;c&#39;: 4}, {&#39;a&#39;:5}, {&#39;b&#39;:2}, {&#39;b&#39;: 4}]
In [66]: b = defaultdict(list)
In [67]: [b[k].append(v) for item in a for k, v in item.items()]
Out[67]: [None, None, None, None, None, None]
In [68]: b
Out[68]: defaultdict(list, {&#39;a&#39;: [1, 5], &#39;b&#39;: [3, 2, 4], &#39;c&#39;: [4]})
In [69]: b[&#39;a&#39;]
Out[69]: [1, 5]
Copier après la connexion

Trouver des similitudes et des différences entre deux dictionnaires

Scénario : Rechercher des similitudes et des différences dans deux dictionnaires, comprenant les mêmes clés ou même valeur.

Analyse : Un dictionnaire est une collection de mappages entre une série de valeurs clés. Il a les caractéristiques suivantes :

keys() renverra toutes les clés du dictionnaire et les clés du dictionnaire. le dictionnaire prend en charge les opérations d'ensemble. , de sorte que les clés du dictionnaire peuvent être traitées en utilisant l'intersection et le complément d'ensembles ;

items() renvoie un objet composé de (clé, valeur), prenant en charge les opérations d'ensemble

;

Les opérations Values() et Set ne sont pas prises en charge car il n'y a aucune garantie que toutes les valeurs soient uniques, mais si une opération de jugement est nécessaire, les valeurs peuvent d'abord être converties en ensembles.

Exemple :

In [78]: a = {&#39;a&#39;:1, &#39;b&#39;:2, &#39;c&#39;:3}
In [79]: b = {&#39;b&#39;:3, &#39;c&#39;:3, &#39;d&#39;:4}
In [80]: a.keys() & b.keys()
Out[80]: {&#39;b&#39;, &#39;c&#39;}
In [81]: a.keys() - b.keys()
Out[81]: {&#39;a&#39;}
In [82]: a.items() & b.items()
Out[82]: {(&#39;c&#39;, 3)}
Copier après la connexion

Autre exemple, lors de la création d'un dictionnaire, il est prévu que certaines clés puissent être supprimées :

In [85]: a
Out[85]: {&#39;a&#39;: 1, &#39;b&#39;: 2, &#39;c&#39;: 3}
In [86]: c = {k: a[key] for k in a.keys() - {&#39;b&#39;}}
In [87]: c
Out[87]: {&#39;a&#39;: 3, &#39;c&#39;: 3}
Copier après la connexion

Cet article est issu du tutoriel python Chronique, bienvenue pour apprendre !

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 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

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Analyser l'utilisation et la classification des commentaires JSP Analyser l'utilisation et la classification des commentaires JSP Feb 01, 2024 am 08:01 AM

Classification et analyse de l'utilisation des commentaires JSP Les commentaires JSP sont divisés en deux types : commentaires sur une seule ligne : se terminant par, une seule ligne de code peut être commentée. Commentaires multilignes : commençant par /* et se terminant par */, vous pouvez commenter plusieurs lignes de code. Exemple de commentaire sur une seule ligne Exemple de commentaire sur plusieurs lignes/**Ceci est un commentaire sur plusieurs lignes*Peut commenter plusieurs lignes de code*/Utilisation des commentaires JSP Les commentaires JSP peuvent être utilisés pour commenter le code JSP afin de le rendre plus facile à lire

Programme Python pour obtenir le premier et le dernier élément du dictionnaire Programme Python pour obtenir le premier et le dernier élément du dictionnaire Sep 07, 2023 pm 05:01 PM

Python est un langage de programmation de haut niveau interprété, orienté objet et doté d'une sémantique dynamique. Développé par GidioVanRossum en 1991. Il prend en charge plusieurs paradigmes de programmation, notamment la programmation structurée, orientée objet et fonctionnelle. Avant d'aborder ce sujet, passons en revue les concepts de base pertinents aux questions que nous proposons. Un dictionnaire est un ensemble d’éléments unique, modifiable et ordonné. Les accolades sont utilisées lors de l'écriture de dictionnaires et contiennent des clés et des valeurs : les noms de clés peuvent être utilisés pour faire référence à des objets de dictionnaire. Les valeurs des données sont stockées dans des dictionnaires sous forme de paires clé:valeur. Signification ordonnée et non ordonnée Quand nous disons qu'un dictionnaire est ordonné, nous voulons dire que son contenu a un certain ordre et ne change pas. Les articles non commandés n'ont pas d'ordre clair et ne peuvent donc pas être utilisés

Clé de dictionnaire vide incorrecte : comment résoudre l'erreur de clé de dictionnaire de Python ? Clé de dictionnaire vide incorrecte : comment résoudre l'erreur de clé de dictionnaire de Python ? Jun 24, 2023 pm 03:03 PM

Le dictionnaire en Python est une structure de données flexible et puissante qui peut stocker des paires clé-valeur et dispose de fonctions de recherche et d'insertion rapides. Cependant, si vous ne faites pas attention aux paires clé-valeur du dictionnaire, vous risquez de rencontrer le problème des clés de dictionnaire vides. Ce problème provoque souvent un crash du code ou génère des résultats inattendus. Cet article présentera deux méthodes pour résoudre l'erreur de clé de dictionnaire vide en Python. Méthode 1 : utilisez les instructions if pour empêcher les clés de dictionnaire vides. Les dictionnaires Python ne peuvent pas avoir de clés en double, sinon les paires clé-valeur précédentes seront écrasées. Lorsque la valeur d'une clé de dictionnaire est vide

Comment obtenir la clé suivante dans un dictionnaire en Python ? Comment obtenir la clé suivante dans un dictionnaire en Python ? Aug 28, 2023 pm 11:45 PM

Les dictionnaires sont un type de données puissant en Python. Il se compose de paires clé-valeur. La recherche, l'ajout et d'autres opérations peuvent être effectuées efficacement grâce à ce type de données. Bien que l'accès aux valeurs d'un dictionnaire soit simple, il peut arriver que vous deviez rechercher la clé suivante dans le dictionnaire. Python propose plusieurs façons d'y parvenir, en fonction de vos besoins spécifiques. Dans cet article, nous explorerons différentes manières d'obtenir la clé suivante dans un dictionnaire en Python. En utilisant les clés et les méthodes d'index, les dictionnaires sont des collections non ordonnées en Python. Nous devons donc d’abord convertir les clés sous une forme triée. Nous pouvons d’abord ajouter toutes les clés sous la forme d’une liste. Ensuite, nous pouvons trouver la clé suivante en indexant la liste. À l'aide de clés, nous pouvons également

Comment utiliser correctement la fonction exit en langage C Comment utiliser correctement la fonction exit en langage C Feb 18, 2024 pm 03:40 PM

Comment utiliser la fonction exit en langage C nécessite des exemples de code spécifiques. En langage C, nous devons souvent terminer l'exécution du programme au début du programme, ou quitter le programme sous certaines conditions. Le langage C fournit la fonction exit() pour implémenter cette fonction. Cet article présentera l'utilisation de la fonction exit() et fournira des exemples de code correspondants. La fonction exit() est une fonction de bibliothèque standard en langage C et est incluse dans le fichier d'en-tête. Sa fonction est de terminer l'exécution du programme, et peut prendre un nombre entier

Utilisation de la fonction WPSdatedif Utilisation de la fonction WPSdatedif Feb 20, 2024 pm 10:27 PM

WPS est une suite logicielle bureautique couramment utilisée et la fonction de table WPS est largement utilisée pour le traitement des données et les calculs. Dans le tableau WPS, il existe une fonction très utile, la fonction DATEDIF, qui permet de calculer le décalage horaire entre deux dates. La fonction DATEDIF est l'abréviation du mot anglais DateDifference. Sa syntaxe est la suivante : DATEDIF(start_date,end_date,unit) où start_date représente la date de début.

Introduction aux fonctions Python : utilisation et exemples de fonction abs Introduction aux fonctions Python : utilisation et exemples de fonction abs Nov 03, 2023 pm 12:05 PM

Introduction aux fonctions Python : utilisation et exemples de la fonction abs 1. Introduction à l'utilisation de la fonction abs En Python, la fonction abs est une fonction intégrée utilisée pour calculer la valeur absolue d'une valeur donnée. Il peut accepter un argument numérique et renvoyer la valeur absolue de ce nombre. La syntaxe de base de la fonction abs est la suivante : abs(x) où x est le paramètre numérique permettant de calculer la valeur absolue, qui peut être un nombre entier ou un nombre à virgule flottante. 2. Exemples de fonction abs Ci-dessous, nous montrerons l'utilisation de la fonction abs à travers quelques exemples spécifiques : Exemple 1 : Calcul

Introduction aux fonctions Python : utilisation et exemples de la fonction isinstance Introduction aux fonctions Python : utilisation et exemples de la fonction isinstance Nov 04, 2023 pm 03:15 PM

Introduction aux fonctions Python : utilisation et exemples de la fonction isinstance Python est un langage de programmation puissant qui fournit de nombreuses fonctions intégrées pour rendre la programmation plus pratique et efficace. L'une des fonctions intégrées très utiles est la fonction isinstance(). Cet article présentera l'utilisation et des exemples de la fonction isinstance et fournira des exemples de code spécifiques. La fonction isinstance() est utilisée pour déterminer si un objet est une instance d'une classe ou d'un type spécifié. La syntaxe de cette fonction est la suivante

See all articles