2.1 Obtenir le nombre d'éléments
En Python, pour obtenir le nombre d'éléments dans un dictionnaire, on utilise la fonction intégrée len()
. Cette fonction renvoie le nombre de paires clé-valeur dans le dictionnaire. Ou bien le nombre de clés, si tu préfères.
Exemple d'utilisation de la fonction :
person = {"name": "Alice", "age": 25, "city": "New York"}
num_elements = len(person)
print(num_elements) # Sortie : 3
Dans cet exemple, nous avons un dictionnaire person
avec trois éléments. La fonction len(person)
renvoie le nombre d'éléments dans le dictionnaire, qui est égal à 3.
Vérification de la vacuité d'un dictionnaire
Tu peux utiliser la fonction len()
pour vérifier si un dictionnaire est vide. C'est utile dans les conditions et les boucles.
empty_dict = {}
print(len(empty_dict)) # Sortie : 0
person = {"name": "Alice", "age": 25, "city": "New York"}
if len(person) > 0:
print("Le dictionnaire n'est pas vide")
else:
print("Le dictionnaire est vide")
Dictionnaire avec des structures imbriquées
La fonction len()
prend en compte seulement le nombre de clés de niveau supérieur, indépendamment de ce qui est contenu comme valeurs.
complex_dict = {
name: "Alice",
details: {
age: 25,
city: "New York"
},
hobbies: ["reading", "traveling"]
}
print(len(complex_dict)) # Sortie : 3
Dans cet exemple, nous avons un dictionnaire avec des structures de données imbriquées. len(complex_dict)
renvoie 3, car au niveau supérieur, il y a trois clés : "name", "details" et "hobbies".
len()
ignore les clés à l'intérieur des structures de données imbriquées, telles que "age" et "city" dans le dictionnaire "details", car len()
ne compte que les clés de niveau supérieur. Si tu as besoin de compter le nombre de tous les éléments, y compris les structures imbriquées, tu devras utiliser une méthode récursive. Mais ce n'est pas pour aujourd'hui.
2.2 Détermination du type
La fonction type()
en Python est utilisée pour déterminer le type d'un objet. Lors du travail avec les dictionnaires, type()
permet de déterminer que l'objet est une instance de la classe dict
. Cela peut être utile dans divers scénarios, par exemple, pour vérifier le type de données avant de réaliser des opérations sur le dictionnaire.
Exemples d'utilisation :
Vérification du type de l'objet
person = {"name": "Alice", "age": 25, "city": "New York"}
print(type(person)) # Sortie : <class 'dict'>
Dans cet exemple, nous créons un dictionnaire person
et utilisons type
pour déterminer son type. La fonction renvoie <class 'dict'>
, indiquant que person
est un dictionnaire.
Vérification conditionnelle du type de données
La fonction type()
peut être utilisée pour vérifier le type de données dans les expressions conditionnelles, permettant de réaliser certaines opérations uniquement pour des objets de type dict
.
data = {"name": "Alice", "age": 25, "city": "New York"}
if type(data) is dict:
print("C'est un dictionnaire.")
else:
print("Ce n'est pas un dictionnaire.")
Dans cet exemple, l'expression conditionnelle vérifie si data
est un dictionnaire, et exécute le code approprié.
La fonction type()
peut être utilisée à l'intérieur de fonctions personnalisées pour vérifier le type des arguments, garantissant ainsi que la fonction traite le bon type de données.
Exemple :
def process_data(data):
if type(data) is dict:
print("Traitement du dictionnaire...")
# Réalisation d'opérations sur le dictionnaire
else:
print("Erreur : un dictionnaire était attendu.")
data = {"name": "Alice", "age": 25, "city": "New York"}
process_data(data)
Dans cet exemple, la fonction process_data
vérifie si l'argument data
est un dictionnaire, et effectue les opérations appropriées uniquement pour les dictionnaires.
2.3 Obtention d'un élément
Travailler avec les éléments d'un dictionnaire ressemble à manipuler une liste ou un tuple — nous allons également utiliser des crochets. Sauf qu'au lieu de l'indice de l'élément entre crochets, il faut indiquer la clé. Une clé de dictionnaire peut être n'importe quel élément immuable : une chaîne, un nombre ou, par exemple, un tuple.
dictionnaire[clé]
Exemple :
person = {"name": "Alice", "age": 25, "city": "New York"}
name = person["name"]
print(name) # Sortie : Alice
Si la clé est absente, une erreur se produira :
person = {"name": "Alice", "age": 25, "city": "New York"}
person["country"] # Une erreur KeyError se produira : 'country'
Méthode get(key, def_value)
La méthode get()
permet d'obtenir en toute sécurité la valeur d'une clé. Si la clé est absente, la méthode renvoie une valeur par défaut (None
, si aucune valeur par défaut n'est spécifiée). Cela évite l'apparition d'une exception KeyError
.
person = {"name": "Alice", "age": 25, "city": "New York"}
age = person.get("age")
print(age) # Sortie : 25
country = person.get("country", "USA")
print(country) # Sortie : USA
Le deuxième paramètre de la méthode get()
peut être la valeur à renvoyer si la clé nécessaire n'est pas dans le dictionnaire.
La méthode setdefault()
fonctionne de manière similaire à la méthode get()
, mais si la clé n'est pas présente dans le dictionnaire, la méthode ne retourne pas simplement une valeur par défaut, elle ajoute une nouvelle paire clé : valeur
au dictionnaire.
person = {"name": "Alice", "age": 25}
city = person.setdefault("city", "New York")
print(city) # Sortie : New York
print(person) # Sortie : {'name': 'Alice', 'age': 25, 'city': 'New York'}
GO TO FULL VERSION