Comment passer un dictionnaire dans `str.format()` en Python
En Python, la méthode str.format() nous permet d'insérer des valeurs dans une chaîne en utilisant des espaces réservés. Ces espaces réservés sont représentés par des accolades {} et peuvent être remplacés par les valeurs souhaitées. Nous pouvons passer un dictionnaire en tant qu'argument à str.format() pour remplacer plusieurs espaces réservés par des paires clé-valeur du dictionnaire.
Voici un tutoriel étape par étape sur la façon de passer un dictionnaire dans str.format() en Python :
Étape 1 : Créer un dictionnaire
Tout d'abord, créez un dictionnaire avec les valeurs que vous souhaitez insérer dans la chaîne. Le dictionnaire doit être constitué de paires clé-valeur, où les clés représentent les espaces réservés dans la chaîne.
data = {
'name': 'John',
'age': 25,
'country': 'USA'
}
Dans cet exemple, nous avons un dictionnaire appelé data avec trois clés : 'name', 'age' et 'country'.
Étape 2 : Définir la chaîne
Ensuite, définissez la chaîne dans laquelle vous souhaitez insérer les valeurs du dictionnaire. Les espaces réservés pour les clés du dictionnaire doivent être inclus à l'aide des accolades {}.
message = "Je m'appelle {name}, j'ai {age} ans et je vis aux {country}."
Nous avons défini une chaîne appelée message avec trois espaces réservés : {name}, {age} et {country}.
Étape 3 : Passer le dictionnaire à str.format()
Pour passer le dictionnaire à str.format(), appelez la méthode format() sur la chaîne et passez le dictionnaire en tant qu'argument.
formatted_message = message.format(**data)
La syntaxe **data est utilisée pour déballer le dictionnaire et passer ses paires clé-valeur en tant qu'arguments de mot-clé à la méthode format().
Étape 4 : Imprimer ou utiliser la chaîne formatée
Enfin, vous pouvez imprimer ou utiliser la chaîne formatée comme vous le souhaitez. Les espaces réservés dans la chaîne seront remplacés par les valeurs correspondantes du dictionnaire.
print(formatted_message)
Le résultat sera :
Je m'appelle John, j'ai 25 ans et je vis aux USA.
Exemples supplémentaires :
Exemple 1 : Valeurs numériques
data = {
'num1': 10,
'num2': 5,
'sum': 15
}
message = "La somme de {num1} et {num2} est {sum}."
formatted_message = message.format(**data)
print(formatted_message)
Résultat :
La somme de 10 et 5 est 15.
Exemple 2 : Valeurs de date
data = {
'day': 12,
'month': 'octobre',
'year': 2022
}
message = "Aujourd'hui, nous sommes le {day} {month} {year}."
formatted_message = message.format(**data)
print(formatted_message)
Résultat :
Aujourd'hui, nous sommes le 12 octobre 2022.
Exemple 3 : Valeurs booléennes
data = {
'is_sunny': True,
'is_rainy': False
}
message = "Est-ce ensoleillé ? {is_sunny}. Est-ce qu'il pleut ? {is_rainy}."
formatted_message = message.format(**data)
print(formatted_message)
Résultat :
Est-ce ensoleillé ? True. Est-ce qu'il pleut ? False.
En suivant ces étapes et exemples, vous pouvez facilement passer un dictionnaire dans str.format() en Python et insérer dynamiquement des valeurs dans vos chaînes.