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

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

不言
不言avant
2018-10-20 14:59:202033parcourir

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)
Le résultat de sortie est :

{'name': 'Tom', 'age': 22, 'city': 'Shanghai', 'ID': '073569'}
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)
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))
La sortie. le résultat est :

Key:name  , Value:Tom
Key:age   , Value:22
Key:city  , Value:Shanghai
Key:ID    , Value:073569
É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)
Le résultat de sortie est :

对调前:
{'name': 'Tom', 'age': 22, 'city': 'Shanghai', 'ID': '073569'}
对调后:
{'Tom': 'name', 22: 'age', 'Shanghai': 'city', '073569': 'ID'}
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)
Le résultat de sortie est :

无序字典(dict):
Leo C
Jack B
Tom A
Alex D
有序字典(OrderedDict):
Tom A
Jack B
Leo C
Alex D
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)
Le résultat de sortie est le suivant :

sun 2
moon 2
star 4
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)
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!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer