Maison >développement back-end >Tutoriel Python >Résumé des opérations du dictionnaire Python (avec exemples)
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 dictionnaireDans 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é-valeurDans 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é OrderedDictLe 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. OrderedDict
L'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 DDictionnaire 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 dict
default_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 4En 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!