Dictionnaires et Méthodes de Dictionnaire
Les dictionnaires sont sans doute la structure de données la plus polyvalente de Python. Ils stockent les données sous forme de paires clé-valeur et sont essentiels dans les situations où les données doivent être récupérées rapidement et où les modifications sont fréquentes.
Dans notre scénario de magasin d'alimentation, les dictionnaires pourraient gérer efficacement les informations des fournisseurs, permettant d'accéder à chaque fournisseur par son nom ou son identifiant sans avoir à parcourir une liste.
Regardez Alex démontrer comment utiliser les dictionnaires pour notre magasin d'alimentation :
Création
Les dictionnaires sont créés en entourant des paires clé-valeur séparées par des virgules avec des accolades {}
.
python
Ordre
Les dictionnaires conservent l'ordre d'insertion de leurs éléments, bien qu'il soit important de noter que les opérations sont généralement effectuées en fonction des clés plutôt que de la position.
Mutabilité (capacité de modification)
Les dictionnaires sont mutables, ce qui permet d'ajouter, de mettre à jour ou de supprimer des paires clé-valeur après la création du dictionnaire ;
Remarque
Bien que les dictionnaires autorisent plusieurs valeurs, chaque clé doit être unique au sein d'un dictionnaire. Si une clé est répétée lors de l'affectation, la dernière valeur écrasera la précédente, garantissant ainsi que chaque clé n'a qu'une seule valeur correspondante.
Exemples
Examinons un dictionnaire simple. Au lieu d'utiliser des indices numériques, les éléments d'un dictionnaire sont accessibles par leurs clés, qui, dans ce cas, correspondent aux noms des articles d'épicerie.
# Dictionary creation groceryItems = { "Milk": 3.49, "Eggs": 2.99, "Bread": 1.99, "Apples": 0.99 } # Extracting dictionary elements by their keys print("Price of Milk:", groceryItems["Milk"]) print("Price of Bread:", groceryItems["Bread"])
Les dictionnaires en Python sont flexibles quant aux types de données qu'ils peuvent stocker.
La seule restriction est que les clés doivent être d'un type immuable (non modifiable) (comme les strings
, les numbers
ou les tuples
ne contenant que des éléments immuables). Cela garantit que la clé reste inchangée.
En revanche, les valeurs du dictionnaire peuvent être de n'importe quel type et inclure des types mutables (modifiables), tels que des listes ou d'autres dictionnaires.
Par exemple :
# A dictionary with various types of keys and values store_info = { "Store Name": "Grocery Galore", # String key and string value 42: "Inventory Count", # Integer key and string value ("Bread", "Milk"): [2.99, 1.59] # Tuple key and list value (prices of bread and milk) } # Extracting dictionary element (list) by its key (tuple) print("Data under key ('Bread', 'Milk'):", store_info[("Bread", "Milk")])
Méthodes des dictionnaires
Les dictionnaires offrent une gamme d'opérations et de méthodes qui facilitent la gestion efficace des données. Voici quelques-unes des méthodes les plus couramment utilisées :
get()
: récupère la valeur associée à une clé spécifiée et, si la clé n'est pas trouvée, retourneNone
. Cela diffère de l'utilisation des crochets (par exemple,grocery_items["Milk"]
), qui génèrent une erreur si la clé n'existe pas ;update()
: met à jour le dictionnaire avec les éléments d'un autre dictionnaire ou d'un itérable de paires clé-valeur, en écrasant les clés existantes ;pop()
: supprime une clé spécifiée et retourne la valeur correspondante.
Remarque
En Python,
None
est une valeur spéciale qui signifie « rien » ou « aucune valeur », et elle est souvent utilisée pour indiquer qu'un élément est vide ou n'a pas de résultat.
Exemple d'application
Supposons que vous deviez mettre à jour le dictionnaire pour un inventaire dans votre épicerie. Voici comment procéder à l'aide des méthodes de dictionnaire :
# Dictionary for a grocery store inventory inventory = { "Apples": 30, "Oranges": 18, "Bananas": 45 } # Get the count of Oranges print("Count of Oranges:", inventory.get("Oranges")) # Update inventory by adding a new item inventory.update({"Mangoes": 20}) print("Updated Inventory:", inventory) # You can also add a new item to the end of the dictionary like this inventory["Pineapples"] = 15 print("Updated Inventory:", inventory) # Remove Bananas from the inventory removed_item = inventory.pop("Bananas") print("Removed Item:", removed_item) print("Current Inventory:", inventory)
Swipe to start coding
Gérer l'inventaire d'une épicerie à l'aide d'un dictionnaire, où chaque article est une paire clé-valeur composée du nom de l'article et de ses détails (ID produit et catégorie).
-
Définir un dictionnaire
grocery_inventory
pour stocker les informations :- "Milk" : (113, "Dairy")
- "Eggs" : (116, "Dairy")
- "Bread" : (117, "Bakery")
- "Apples" : (141, "Produce")
-
Récupérer les détails de l'article
"Bread"
depuis le dictionnaire et les stocker dans la variablebread_details
. -
Ajouter un nouvel article,
"Cookies"
, avec l'ID produit143
et la catégorie"Bakery"
. -
Supprimer l'article
"Eggs"
du dictionnaire.
Exigences de sortie
- Afficher les détails de
"Bread"
:Details of Bread: <$bread_details>
. - Après avoir ajouté
"Cookies"
, afficher l'inventaire mis à jour :Inventory after adding Cookies: <$grocery_inventory>
. - Après avoir supprimé
"Eggs"
, afficher l'inventaire mis à jour :Inventory after removing Eggs: <$grocery_inventory>
.
Solution
Merci pour vos commentaires !