Avec des exercices corrigés en Python, vous pratiquerez divers concepts du langage Python. Vous commencerez par des exercices Python de base à des exercices plus avancés. La solution est fournie pour chaque exercice. Vous devez essayer de résoudre chaque problème par vous-même avant de vérifier la solution. Si vous avez des questions concernant chaque problème, nous vous encourageons à les poster sur notre forum.
Exercice 1:
Écrire un programme Python pour compter le nombre d’éléments des valeurs de dictionnaire qui est une liste.
Exemple:
Exemple de dictionnaire:
{'A': ['el1', 'el2', 'el3'], 'B': ['el1', 'el2']}
Résultat: 5
Solution:
# Créez un dictionnaire
d = {'A': ['el1', 'el2', 'el3'], 'B': ['el1', 'el2']}
# Calculer le nombre total d'éléments en additionnant les tailles des listes (valeurs) du dictionnaire.
res = sum(map(len, d.values()))
# Afficher le nombre total d'éléments.
print(res)
Exercice 2:
Écrire un programme Python pour trier Counter par valeur.
Exemple:
Exemple de dictionnaire:
{'Alex': 1, 'Bob': 3, 'Emily': 7}
Résultat: [('Emily', 7), ('Bob', 3), ('Alex', 1)]
Solution:
# Importez la classe 'Counter' du module 'collections'.
from collections import Counter
# Créez un objet Counter 'c'
c = Counter({'Alex': 1, 'Bob': 3, 'Emily': 7})
# Afficher les éléments les plus courants du compteur 'c'
print(c.most_common())
Exercice 3:
Écrire un programme Python pour faire correspondre les valeurs des clés dans deux dictionnaires.
Exemple:
Exemple de dictionnaire:
x = {'A': 1, 'B': 3, 'C': 2}
y = {'A': 1, 'B': 2}
Résultat:
A: 1 est présent à la fois dans x et y
Solution:
# Créez deux dictionnaires 'x' et 'y' avec des paires clé-valeur.
x = {'A': 1, 'B': 3, 'C': 2}
y = {'A': 1, 'B': 2}
# Utiliser les opérations du Set pour trouver les paires clé-valeur communes entre 'x' et 'y'.
# Itérer à travers les paires clé-valeur communes à l'aide d'une boucle for.
for (key, value) in set(x.items()) & set(y.items()):
# Afficher un message indiquant que la clé et la valeur sont présentes à la fois dans 'x' et 'y'.
print('%s: %s est présent à la fois dans x et y' % (key, value))
Exercice 4:
Écrire un programme Python pour supprimer les éléments vides d’un dictionnaire donné.
Exemple:
Dictionnaire original:
{'c1' : 'Rouge', 'c2' : 'Vert', 'c3' : None}
Nouveau dictionnaire après suppression des éléments vides:
{'c1' : 'Rouge', 'c2' : 'Vert'}
Solution:
d = {'c1': 'Red', 'c2': 'Green', 'c3': None}
print("Original Dictionary:", d)
print("Nouveau dictionnaire après suppression des éléments vides:")
# Utiliser un dictionnaire de compréhension pour créer un nouveau dictionnaire qui exclut les éléments avec des valeurs 'None'.
# Itère à travers les paires clé-valeur dans 'd' et les inclut dans le nouveau dictionnaire si la valeur n'est pas 'None'.
d = {key: value for (key, value) in d.items() if value is not None}
# Affiche le nouveau dictionnaire qui ne contient que des éléments non vides.
print(d)
Exercice 5:
Écrire un programme Python pour filtrer un dictionnaire en fonction des valeurs.
d = {'c1' : 3, 'c2' : 6, 'c3' : 7}
print("Original Dictionary:", d)
print("Valeurs supérieures à 5:")
# Utiliser un dictionnaire de compréhension pour créer un nouveau dictionnaire contenant uniquement les paires clé-valeur dont les valeurs sont supérieures ou égales à 5.
# Interroger les paires clé-valeur dans 'd' et les inclure dans le nouveau dictionnaire si la valeur est supérieure ou égale à 5.
result = {key: value for (key, value) in d.items() if value >= 5}
# Afficher le nouveau dictionnaire contenant uniquement les paires clé-valeur filtrées.
print(result)
Exercice 6:
Écrire un programme Python pour vérifier que toutes les valeurs d’un dictionnaire sont identiques.
Exemple:
Dictionnaire original:
{'c1' : 3, 'c2' : 3, 'c3' : 3}
Vérifier les 3 dans le dictionnaire:
True
Solution:
d = {'c1' : 3, 'c2' : 3, 'c3' : 3}
n = 3
print("Original Dictionary:", d)
print("Vérifier les 3 dans le dictionnaire:")
# Utilisez la fonction all pour vérifier si toutes les valeurs du dictionnaire 'd' sont égales à 'n'.
result = all(x == n for x in d.values())
# Afficher le résultat
print(result)
Exercice 7:
Écrire un programme Python pour créer un dictionnaire regroupant une séquence de paires clé-valeur dans un dictionnaire de listes.
Exemple:
[('A', 1), ('B', 2), ('A', 3), ('B', 4), ('C', 1)]
Regroupement dans un dictionnaire de listes:
{'A' : [1, 3], 'B' : [2, 4], 'C' : [1]}
Solution:
liste = [('A', 1), ('B', 2), ('A', 3), ('B', 4), ('C', 1)]
print(liste)
print("Regroupement dans un dictionnaire de listes:")
# Créez un dictionnaire vide 'result' pour stocker les données groupées.
result = {}
for k, v in liste:
# Utilisez setdefault pour ajouter les valeurs 'v' à la liste associée à la clé 'k'.
result.setdefault(k, []).append(v)
# Afficher le résultat
print(result)
Exercice 8:
Écrire un programme Python pour diviser un dictionnaire de listes donné en listes de dictionnaires.
Exemple:
{'A': [1, 2, 3], 'B': [10, 20, 30]}
Diviser ce dictionnaire de listes en une liste de dictionnaires:
[{'A': 1, 'B': 10}, {'A': 2, 'B': 20}, {'A': 3, 'B': 30}]
Solution:
d = {'A': [1, 2, 3], 'B': [10, 20, 30]}
print(d)
print("Diviser ce dictionnaire de listes en une liste de dictionnaires:")
# Récupérer les clés du dictionnaire 'd'.
keys = d.keys()
# Utilisez la fonction zip pour transposer les listes de valeurs en tuples.
vals = zip(*[d[k] for k in keys])
# Créer une liste de dictionnaires en zippant les clés et les tuples transposés.
result = [dict(zip(keys, v)) for v in vals]
# Afficher le résultat
print(result)
Exercice 9:
Écrire un programme Python pour supprimer un dictionnaire spécifié d’une liste donnée.
Exemple:
Liste originale du dictionnaire :
[{'id':1, 'name':'Alex'}, {'id':2, 'name':'Bob'}, {'id':3, 'name':'Ali'}]
Supprimer l'identifiant 2 de cette liste de dictionnaires:
[{'id': 1, 'name': 'Alex'}, {'id': 3, 'name': 'Ali'}]
Solution:
liste = [{'id':1, 'name':'Alex'}, {'id':2, 'name':'Bob'}, {'id':3, 'name':'Ali'}]
s_id = 2
print(liste)
print("Supprimer l'identifiant 2 de cette liste de dictionnaires:")
# Utiliser une liste de compréhension pour filtrer les dictionnaires dont l'id n'est pas égal à s_id.
# Le résultat filtré est réaffecté à la liste, supprimant ainsi le dictionnaire avec l'identifiant spécifié.
liste[:] = [d for d in liste if d.get('id') != s_id]
# Afficher le résultat
print(liste)
Exercice 10:
Écrire un programme Python pour convertir les valeurs string d’un dictionnaire donné en types de données entiers.
Exemple:
[{'a' : '10', 'b' : '20'}, {'x' : '30', 'y' : '40'}]
Convertir les valeurs de type string en entiers:
[{'a': 10, 'b': 20}, {'x': 30, 'y': 40}]
Solution:
liste = [{'a' : '10', 'b' : '20'}, {'x' : '30', 'y' : '40'}]
print(liste)
print("Convertir les valeurs de type string en entiers:")
# Utiliser une liste de compréhension pour parcourir chaque dictionnaire 'b' dans la liste.
# Pour chaque dictionnaire, convertissez les valeurs des chaînes en entiers et créez un nouveau dictionnaire.
result = [dict([a, int(x)] for a, x in b.items()) for b in liste]
# Afficher le résultat
print(result)
Éditeur de code Python: Testez votre code en ligne!
QCM Python – Partie 1Bienvenue dans notre QCM Python ! Que vous soyez débutant ou déjà expérimenté en programmation, ce questionnaire à choix multiples est l’occasion parfaite de tester…Lire plus
Exercice Corrigé: Les dictionnaires en Python – Partie 3 – exercice6
Autre solution possible: