Exercice Corrigé: Les listes en Python – Partie 4

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 afficher une liste d’éléments séparés par des espaces.

Exemple:

[1, 2, 3, 4, 5] ➞ 1 2 3 4 5
Solution:

# Définir une liste contenant des entiers
liste = [1, 2, 3, 4, 5]

print(*liste)

Explication:

utilisez l’opérateur ‘*’ dans la fonction print() pour décompresser les éléments de la liste en tant qu’arguments séparés. Ceci affichera chaque élément de la liste séparé par des espaces.

 

Exercice 2:

Écrire un programme Python pour insérer une chaîne donnée au début de tous les éléments d’une liste.

Exemple de sortie:

[1,2,3,4], string: id ➞ [id1, id2, id3, id4]
Solution:

# Définir une liste contenant des entiers
liste = [1, 2, 3, 4]

# Utiliser une liste de compréhension pour créer une nouvelle liste 
# de chaînes, où chaque chaîne est formée en ajoutant l'index 
# (formaté comme une chaîne) à la chaîne 'id'. Cela génère effectivement 
# une liste de chaînes avec des éléments tels que 'id1', 'id2', 'id3', 'id4'.
my_list = ['id{0}'.format(i) for i in liste]

# Afficher la nouvelle liste "ma_liste" contenant les chaînes de caractères formatées
print(my_list)
 

Exercice 3:

Écrire un programme Python pour itérer sur deux listes simultanément.

Entrée:

nbr = [1, 2, 3]
names = ['Alex', 'Jean', 'Bob']

Sortie:

1 Alex
2 Jean
3 Bob
Solution:

# Définir deux listes "nbr" et "names"
nbr = [1, 2, 3]
names = ['Alex', 'Jean', 'Bob']

for (a, b) in zip(nbr, names):
    print(a, b)

Explication:

Ici for (a, b) in zip(nbr, names): nous avons utilisé une boucle « for » et la fonction « zip » pour itérer sur les paires d’éléments de « nbr » et « names » en parallèle. A chaque itération, les variables ‘a’ et ‘b’ contiennent respectivement les valeurs de ‘nbr’ et ‘names’. Ensuite, print(a, b) on affiche les valeurs de ‘a’ et ‘b’ à chaque itération.

 

Exercice 4:

Écrire un programme Python pour déplacer tous les chiffres zéro à la fin d’une liste de nombres donnée.

Exemple:

[0, 1, 0, 2, 0, 3, 4] ➞ [1, 2, 3, 4, 0, 0, 0]
Solution:

liste = [0, 1, 0, 2, 0, 3, 4]

# Trier la liste sur la base de la clé(key) fournie par la fonction lambda
# La fonction key renvoie 'True' pour les éléments non nuls et 'False' pour les éléments nuls
result = sorted(liste, key=lambda x: not x)
 
print(result) 
 

Exercice 5:

Ecrivez un programme Python pour trouver la liste dans une liste de listes dont la somme des éléments est la plus grande.

Exemple:

[[1, 2, 3], [10, 9, 20], [0, 3, 0]] ➞ [10, 9, 20]
Solution:

# Définir une liste contenant des sous-listes, chacune avec trois entiers
liste = [[1, 2, 3], [10, 9, 20], [0, 3, 0]]

print(max(liste, key=sum)) 

Explication:

Ici max(liste, key=sum) nous avons utilisé la fonction ‘max’ pour trouver la sous-liste maximale dans ‘liste’ en se basant sur la somme de ses éléments. L’argument « key » spécifie une fonction lambda qui calcule la somme de chaque sous-liste. La fonction « max » renvoie la sous-liste dont la somme est la plus élevée.

 

Exercice 6:

Écrire un programme Python pour détecter si toutes les valeurs d’une liste sont supérieures à un nombre spécifié.

Exemple:

[210, 420, 150], nbr: 100 ➞ True
[9, 7, 8], nbr: 10 ➞ False
Solution:

# Définir deux listes contenant des nombres entiers
liste1 = [210, 420, 150]
liste2 = [9, 7, 8]

# Vérifier si tous les éléments de 'list1' sont supérieurs ou égaux à 100
# La fonction 'all' renvoie 'True' si tous les éléments remplissent la condition, sinon 'False'
print(all(x >= 100 for x in liste1))

# Vérifier si tous les éléments de 'list2' sont supérieurs ou égaux à 10
# La fonction 'all' renvoie 'True' si tous les éléments remplissent la condition, sinon 'False'
print(all(x >= 10 for x in liste2))
 

Exercice 7:

Écrire un programme Python pour pour insérer les éléments d’une liste au début d’une liste.

Entrée:

liste1 = [10, 20, 30]
liste2 = [40, 50, 60]

Sortie:

[40, 50, 60, 10, 20, 30]
Solution:

# Définir deux listes contenant des nombres entiers
liste1 = [10, 20, 30]
liste2 = [40, 50, 60]

# Utilisez le découpage de liste pour insérer les éléments de 'liste2' 
# au début de 'liste1' en définissant 'liste1[:0] = liste2'.
liste1[:0] = liste2

# Les éléments de la 'liste2' sont ainsi ajoutés au début de la 'liste1'
print(liste1)
 

Exercice 8:

Écrire un programme Python pour supprimer les doublons d’une liste de listes.

Exemple:

[[5, 10], [10], [20, 35, 15], [5, 10], [22], [10]] ➞ 
[[10], [20, 35, 15], [5, 10], [22]]
Solution:

# Importer le module 'itertools' pour travailler avec des itérateurs et des groupes
import itertools

# Définir une liste contenant des sous-listes d'entiers
liste = [[5, 10], [10], [20, 35, 15], [5, 10], [22], [10]]

# Trier la liste, qui trie les sous-listes de manière lexicographique
liste.sort()

# Utilisez 'itertools.groupby' pour regrouper les sous-listes similaires et garder la première occurrence de chaque groupe
res = list(liste for liste, _ in itertools.groupby(liste))

# Afficher le résultat
print(res)
 

Exercice 9:

Écrire un programme Python pour trouver les éléments commençant par un caractère spécifique dans une liste.

Exemple:

['alex', 'bob', 'ali'], char: 'a' ➞ ['alex', 'ali']
Solution:

char = 'a'
liste = ['alex', 'bob', 'ali']

# Utiliser une liste de compréhension pour filtrer les éléments de "liste" qui commencent par le "char" spécifié
result = [i for i in liste if i.startswith(char)]

# Afficher le résultat
print(result)
 

Exercice 10:

Écrire un programme Python pour vérifier si tous les dictionnaires d’une liste sont vides ou non.

Exemple:

[{},{},{}] ➞ True
[{2,3},{},{}] ➞ False
Solution:

liste = [{}, {}, {}]

print(all(not d for d in liste))

Explication:

all(not d for d in liste) vérifier si tous les dictionnaires de la liste sont vides (c’est-à-dire qu’ils ne contiennent pas de paires clé-valeur). L’expression ‘not d for d in liste’ renvoie ‘True’ pour chaque dictionnaire vide, et ‘all’ vérifie s’ils sont tous ‘True’.

 

Éditeur de code Python: Testez votre code en ligne!


 

QCM Python

Une réflexion sur “Exercice Corrigé: Les listes en Python – Partie 4

  • janvier 18, 2025 à 1:23 pm
    Permalien

    Another solution for exercice4 Partie4

    liste = [0, 1, 0, 2, 0, 3, 4]
    result = sorted(liste, reverse = True)
    Répondre

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *