Maison > développement back-end > Tutoriel Python > Résumé des opérations du dictionnaire Python (avec exemples)

Résumé des opérations du dictionnaire Python (avec exemples)

不言
Libérer: 2018-10-20 14:59:20
avant
2053 Les gens l'ont consulté

Cet article vous présente un résumé du fonctionnement du dictionnaire Python (avec des exemples). Il a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer.

La structure du dictionnaire (dict) est une structure de données couramment utilisée en Python. Sur la base de mon expérience d'utilisation réelle, l'auteur fait un résumé des connaissances pertinentes sur les dictionnaires, dans l'espoir de donner un peu d'inspiration aux lecteurs~

Créer un dictionnaire

Une façon courante de créer un dictionnaire consiste d'abord à créer un dictionnaire vide, puis à ajouter des clés et des valeurs une par une, par exemple en créant un dictionnaire person={'name ':'Tome', 'age' :22, 'city':'Shanghai, 'ID': '073569'}, vous pouvez utiliser le code suivant :

person = {}
person['name'] = 'Tom'
person['age'] = 22
person['city'] = 'Shanghai'
person['ID'] = '073569'
print(person)
Copier après la connexion
Le résultat de sortie est :

{'name': 'Tom', 'age': 22, 'city': 'Shanghai', 'ID': '073569'}
Copier après la connexion
Cette façon de créer Simple et primitive, le code n'est pas assez concis et élégant. Nous utilisons la fonction zip pour créer ce dictionnaire simplement et rapidement :

attrs = ['name', 'age', 'city', 'ID']
values = ['Tom', 22, 'Shanghai', '073569']
person = dict(zip(attrs, values))
print(person)
Copier après la connexion
Le résultat de sortie est cohérent avec le code original.

Parcourir le dictionnaire

Dans les applications pratiques, nous avons souvent besoin de parcourir le dictionnaire Pour la méthode d'implémentation, veuillez vous référer au code suivant :

attrs = ['name', 'age', 'city', 'ID']
values = ['Tom', 22, 'Shanghai', '073569']
person = dict(zip(attrs, values))

for key, value in person.items():
    print('Key:%-6s, Value:%s'%(key, value))
Copier après la connexion
La sortie. le résultat est :

Key:name  , Value:Tom
Key:age   , Value:22
Key:city  , Value:Shanghai
Key:ID    , Value:073569
Copier après la connexion
Échanger des paires clé-valeur

Dans les applications pratiques, nous avons parfois besoin de trouver la clé correspondant à une certaine valeur (valeur) dans le dictionnaire. une option, échanger les valeurs clés Oui est une autre option. Le code d'implémentation pour l'échange de paires clé-valeur est le suivant :

attrs = ['name', 'age', 'city', 'ID']
values = ['Tom', 22, 'Shanghai', '073569']
person = dict(zip(attrs, values))
print('对调前:')
print(person)
Person = {v:k for k,v in person.items()}
print('对调后:')
print(Person)
Copier après la connexion
Le résultat de sortie est :

对调前:
{'name': 'Tom', 'age': 22, 'city': 'Shanghai', 'ID': '073569'}
对调后:
{'Tom': 'name', 22: 'age', 'Shanghai': 'city', '073569': 'ID'}
Copier après la connexion
Dictionnaire ordonné OrderedDict

Le dictionnaire en Python est non ordonnées. Les clés récupérées ne sont pas ordonnées car elles sont stockées en fonction du hachage. Parfois, nous avons besoin que les éléments ou les clés du dictionnaire soient stockés dans l'ordre. Dans ce cas, nous pouvons utiliser le

dans le module collections, qui est une structure de dictionnaire ordonnée. OrderedDictL'exemple de code est le suivant (la version Python est 3.5.2) :

from collections import OrderedDict
d = {}
d['Tom']='A'
d['Jack']='B'
d['Leo']='C'
d['Alex']='D'
print('无序字典(dict):')
for k,v in d.items():
    print(k,v)
d1 = OrderedDict()
d1['Tom']='A'
d1['Jack']='B'
d1['Leo']='C'
d1['Alex']='D'
print('\n有序字典(OrderedDict):')
for k,v in d1.items():
    print(k,v)
Copier après la connexion
Le résultat de sortie est :

无序字典(dict):
Leo C
Jack B
Tom A
Alex D
有序字典(OrderedDict):
Tom A
Jack B
Leo C
Alex D
Copier après la connexion
Dictionnaire par défaut collections.defaultdict

  

est une sous-classe de la classe collections.defaultdict intégrée de Python. Le premier paramètre fournit la valeur initiale de l'attribut dictdefault_factory, qui est par défaut . Il remplace une méthode et ajoute une variable d'instance inscriptible. Par ailleurs, il fonctionne de la même manière que None, mais fournit une valeur par défaut pour une clé inexistante, évitant ainsi les exceptions dict. KeyError Prenons les statistiques de fréquence des mots de la liste comme exemple pour démontrer les avantages de
. collections.defaultdict Dans des circonstances normales, le code de fréquence des mots dans notre liste statistique est :

words = ['sun', 'moon', 'star', 'star',\
         'star', 'moon', 'sun', 'star']
freq_dict = {}
for word in words:
    if word not in freq_dict.keys():
        freq_dict[word] = 1
    else:
        freq_dict[word] += 1
for key, val in freq_dict.items():
    print(key, val)
Copier après la connexion
Le résultat de sortie est le suivant :

sun 2
moon 2
star 4
Copier après la connexion
En utilisant

, le code peut être optimisé : collections.defaultdict

from collections import defaultdict

words = ['sun', 'moon', 'star', 'star',\
         'star', 'moon', 'sun', 'star']

freq_dict = defaultdict(int)
for word in words:
    freq_dict[word] += 1

for key, val in freq_dict.items():
    print(key, val)
Copier après la connexion
D'autres valeurs initiales par défaut peuvent être définies, liste, dict, etc.

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!

Étiquettes associées:
source:segmentfault.com
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal