Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Industrial programming >> Python

Dictionnaire Python

Dictionnaire Python

Dans ce didacticiel, vous apprendrez tout sur les dictionnaires Python ; comment ils sont créés, accéder, ajouter, supprimer des éléments et diverses méthodes intégrées.

Vidéo :Dictionnaires Python pour stocker des paires clé/valeur

Le dictionnaire Python est une collection non ordonnée d'éléments. Chaque élément d'un dictionnaire a un key/value paire.

Les dictionnaires sont optimisés pour récupérer les valeurs lorsque la clé est connue.

Création d'un dictionnaire Python

Créer un dictionnaire est aussi simple que de placer des éléments entre accolades {} séparés par des virgules.

Un article a un key et un value correspondant exprimé sous forme de couple (clé :valeur ).

Alors que les valeurs peuvent être de n'importe quel type de données et peuvent se répéter, les clés doivent être de type immuable (chaîne, nombre ou tuple avec des éléments immuables) et doivent être uniques.

# empty dictionary
my_dict = {}

# dictionary with integer keys
my_dict = {1: 'apple', 2: 'ball'}

# dictionary with mixed keys
my_dict = {'name': 'John', 1: [2, 4, 3]}

# using dict()
my_dict = dict({1:'apple', 2:'ball'})

# from sequence having each item as a pair
my_dict = dict([(1,'apple'), (2,'ball')])

Comme vous pouvez le voir ci-dessus, nous pouvons également créer un dictionnaire en utilisant le dict() intégré fonction.

Accéder aux éléments du dictionnaire

Alors que l'indexation est utilisée avec d'autres types de données pour accéder aux valeurs, un dictionnaire utilise keys . Les clés peuvent être utilisées soit entre crochets [] ou avec le get() méthode.

Si nous utilisons les crochets [] , KeyError est déclenchée si une clé n'est pas trouvée dans le dictionnaire. En revanche, le get() la méthode renvoie None si la clé n'est pas trouvée.

# get vs [] for retrieving elements
my_dict = {'name': 'Jack', 'age': 26}

# Output: Jack
print(my_dict['name'])

# Output: 26
print(my_dict.get('age'))

# Trying to access keys which doesn't exist throws error
# Output None
print(my_dict.get('address'))

# KeyError
print(my_dict['address'])

Sortie

Jack
26
None
Traceback (most recent call last):
  File "<string>", line 15, in <module>
    print(my_dict['address'])
KeyError: 'address'

Modification et ajout d'éléments de dictionnaire

Les dictionnaires sont modifiables. Nous pouvons ajouter de nouveaux éléments ou modifier la valeur d'éléments existants à l'aide d'un opérateur d'affectation.

Si la clé est déjà présente, la valeur existante est mise à jour. Si la clé n'est pas présente, une nouvelle (clé :valeur ) paire est ajoutée au dictionnaire.

# Changing and adding Dictionary Elements
my_dict = {'name': 'Jack', 'age': 26}

# update value
my_dict['age'] = 27

#Output: {'age': 27, 'name': 'Jack'}
print(my_dict)

# add item
my_dict['address'] = 'Downtown'

# Output: {'address': 'Downtown', 'age': 27, 'name': 'Jack'}
print(my_dict)

Sortie

{'name': 'Jack', 'age': 27}
{'name': 'Jack', 'age': 27, 'address': 'Downtown'}

Supprimer des éléments du dictionnaire

Nous pouvons supprimer un élément particulier dans un dictionnaire en utilisant le pop() méthode. Cette méthode supprime un élément avec le key fourni et renvoie le value .

Le popitem() peut être utilisée pour supprimer et renvoyer un (key, value) arbitraire paire d'éléments du dictionnaire. Tous les éléments peuvent être supprimés en une fois, en utilisant le clear() méthode.

On peut aussi utiliser le del mot-clé pour supprimer des éléments individuels ou le dictionnaire entier lui-même.

# Removing elements from a dictionary

# create a dictionary
squares = {1: 1, 2: 4, 3: 9, 4: 16, 5: 25}

# remove a particular item, returns its value
# Output: 16
print(squares.pop(4))

# Output: {1: 1, 2: 4, 3: 9, 5: 25}
print(squares)

# remove an arbitrary item, return (key,value)
# Output: (5, 25)
print(squares.popitem())

# Output: {1: 1, 2: 4, 3: 9}
print(squares)

# remove all items
squares.clear()

# Output: {}
print(squares)

# delete the dictionary itself
del squares

# Throws Error
print(squares)

Sortie

16
{1: 1, 2: 4, 3: 9, 5: 25}
(5, 25)
{1: 1, 2: 4, 3: 9}
{}
Traceback (most recent call last):
  File "<string>", line 30, in <module>
    print(squares)
NameError: name 'squares' is not defined

Méthodes du dictionnaire Python

Les méthodes disponibles avec un dictionnaire sont présentées ci-dessous. Certains d'entre eux ont déjà été utilisés dans les exemples ci-dessus.

Méthode Description
effacer() Supprime tous les éléments du dictionnaire.
copier() Renvoie une copie superficielle du dictionnaire.
fromkeys(seq[, v]) Renvoie un nouveau dictionnaire avec les clés de seq et valeur égale à v (par défaut à None ).
obtenir(clé[,d]) Renvoie la valeur de la clé . Si la clé n'existe pas, renvoie d (par défaut None ).
éléments() Renvoyer un nouvel objet des éléments du dictionnaire au format (clé, valeur).
clés() Renvoie un nouvel objet des clés du dictionnaire.
pop(touche[,d]) Supprime l'élément avec la clé et renvoie sa valeur ou d si clé n'est pas trouvé. Si d n'est pas fourni et la clé n'est pas trouvé, il lève KeyError .
popitem() Supprime et renvoie un élément arbitraire (clé, valeur ). Augmente KeyError si le dictionnaire est vide.
setdefault(clé[,d]) Renvoie la valeur correspondante si la clé est dans le dictionnaire. Sinon, insère la clé avec une valeur de d et renvoie d (par défaut à None ).
mettre à jour([autre]) Met à jour le dictionnaire avec les paires clé/valeur de other , écrasant les clés existantes.
valeurs() Renvoie un nouvel objet des valeurs du dictionnaire

Voici quelques exemples de cas d'utilisation de ces méthodes.

# Dictionary Methods
marks = {}.fromkeys(['Math', 'English', 'Science'], 0)

# Output: {'English': 0, 'Math': 0, 'Science': 0}
print(marks)

for item in marks.items():
    print(item)

# Output: ['English', 'Math', 'Science']
print(list(sorted(marks.keys())))

Sortie

{'Math': 0, 'English': 0, 'Science': 0}
('Math', 0)
('English', 0)
('Science', 0)
['English', 'Math', 'Science']

Compréhension du dictionnaire Python

La compréhension du dictionnaire est une manière élégante et concise de créer un nouveau dictionnaire à partir d'un itérable en Python.

La compréhension du dictionnaire consiste en une paire d'expressions (clé :valeur ) suivi d'un for instruction entre accolades {} .

Voici un exemple pour faire un dictionnaire avec chaque élément étant une paire d'un nombre et son carré.

# Dictionary Comprehension
squares = {x: x*x for x in range(6)}

print(squares)

Sortie

{0: 0, 1: 1, 2: 4, 3: 9, 4: 16, 5: 25}

Ce code est équivalent à

squares = {}
for x in range(6):
    squares[x] = x*x
print(squares)

Sortie

{0: 0, 1: 1, 2: 4, 3: 9, 4: 16, 5: 25}

Une compréhension de dictionnaire peut éventuellement contenir plus d'instructions for ou if.

Un if facultatif peut filtrer les éléments pour former le nouveau dictionnaire.

Voici quelques exemples pour créer un dictionnaire avec uniquement des éléments impairs.

# Dictionary Comprehension with if conditional
odd_squares = {x: x*x for x in range(11) if x % 2 == 1}

print(odd_squares)

Sortie

{1: 1, 3: 9, 5: 25, 7: 49, 9: 81}

Pour en savoir plus sur les compréhensions du dictionnaire, visitez Python Dictionary Comprehension.

Autres opérations de dictionnaire

Test d'adhésion au dictionnaire

Nous pouvons tester si un key est dans un dictionnaire ou n'utilise pas le mot clé in . Notez que le test d'appartenance est uniquement pour le keys et pas pour le values .

# Membership Test for Dictionary Keys
squares = {1: 1, 3: 9, 5: 25, 7: 49, 9: 81}

# Output: True
print(1 in squares)

# Output: True
print(2 not in squares)

# membership tests for key only not value
# Output: False
print(49 in squares)

Sortie

True
True
False

Itérer dans un dictionnaire

Nous pouvons parcourir chaque clé d'un dictionnaire en utilisant un for boucle.

# Iterating through a Dictionary
squares = {1: 1, 3: 9, 5: 25, 7: 49, 9: 81}
for i in squares:
    print(squares[i])

Sortie

1
9
25
49
81

Fonctions intégrées du dictionnaire

Fonctions intégrées telles que all() , any() , len() , cmp() , sorted() , etc. sont couramment utilisés avec des dictionnaires pour effectuer différentes tâches.

Fonction Description
tous() Renvoyer True si toutes les clés du dictionnaire sont vraies (ou si le dictionnaire est vide).
tout() Renvoyer True si une clé du dictionnaire est vraie. Si le dictionnaire est vide, retourne False .
len() Renvoyer la longueur (le nombre d'éléments) dans le dictionnaire.
cmp() Compare les éléments de deux dictionnaires. (Non disponible en Python 3)
trié() Renvoyer une nouvelle liste triée de clés dans le dictionnaire.

Voici quelques exemples qui utilisent des fonctions intégrées pour travailler avec un dictionnaire.

# Dictionary Built-in Functions
squares = {0: 0, 1: 1, 3: 9, 5: 25, 7: 49, 9: 81}

# Output: False
print(all(squares))

# Output: True
print(any(squares))

# Output: 6
print(len(squares))

# Output: [0, 1, 3, 5, 7, 9]
print(sorted(squares))

Sortie

False
True
6
[0, 1, 3, 5, 7, 9]

Python

  1. Types de données Python
  2. Opérateurs Python
  3. Instruction de passe Python
  4. Arguments de la fonction Python
  5. Itérateurs Python
  6. Fermetures Python
  7. Date-heure Python
  8. Python - Présentation
  9. Python - Chiffres