Exercice Corrigé: Les listes en Python – Partie 10

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 inverser une liste de listes.

Exemple:

Liste originale: [[1, 2, 3], [0, 2, 4], [9, 8, 7]]
Inverser la liste de listes: [[9, 8, 7], [0, 2, 4], [1, 2, 3]]
Solution:

liste = [[1, 2, 3], [0, 2, 4], [9, 8, 7]]

print("Liste originale:",liste)

print("Inverser la liste de listes:")
print(liste[::-1])
 

Exercice 2:

Écrire un programme Python pour trouver l’index de la dernière occurrence d’un élément spécifié dans une liste.

Exemple:

Liste originale: ["a", "d", "b", "c", "c", "a"]
Dernière occurrence de 'a' dans la liste est: 5
Dernière occurrence de 'c' dans la liste est: 4
Solution:

liste = ["a", "d", "b", "c", "c", "a"]
char = 'a'

print("Liste originale:",liste)

# Regroupez la liste des caractères en une seule chaîne et recherchez le dernier index du caractère "char"
result = ''.join(liste).rindex(char)

print("Dernière occurrence de 'a' dans la liste est:", result)
 

Exercice 3:

Écrire un programme Python pour obtenir l’index du premier élément qui est plus grand que l’élément spécifié.

Exemple:

Liste originale: [0, 2, 1, 7, 8]
Index du premier élément supérieur à 5 est: 3
Solution:

liste = [0, 2, 1, 7, 8]
n = 5

print("Liste originale:",liste)

# Utiliser la fonction 'enumerate' pour itérer sur la liste avec ses index
# Trouver le premier élément de la liste supérieur à 'n' et renvoyer son index
result = next(a[0] for a in enumerate(liste) if a[1] > n)

print("Index du premier élément supérieur à 5 est:", result)
 

Exercice 4:

Ecrire un programme Python pour obtenir le nombre d’éléments de la liste qui sont pairs et supérieurs à 10.

Exemple:

Liste originale: [2, 1, 7, 8, 12, 20, 15, 22]
Le nombre d'éléments qui sont pairs et supérieurs à 10 est: 3
Solution:

liste = [2, 1, 7, 8, 12, 20, 15, 22]

print("Liste originale:",liste)

# Utilisez la fonction "sum" pour compter les éléments de "liste" qui remplissent les conditions spécifiées
result = sum(1 for i in liste if (i > 10 and i % 2 == 0))

print("Le nombre d'éléments qui sont pairs et supérieurs à 10 est:", result)
 

Exercice 5:

Écrire un programme Python pour diviser une liste en parties de taille spécifiée.

Exemple:

Liste originale: [2, 1, 7, 8, 12, 20, 15, 22, 9]
Diviser la liste en 3 parties: [[2, 1, 7], [8, 12, 20], [15, 22, 9]]
Diviser la liste en 2 parties: [[2, 1], [7, 8], [12, 20], [15, 22], [9]]
Solution:

liste = [2, 1, 7, 8, 12, 20, 15, 22, 9]
n = 3

print("Liste originale:",liste)

# Utiliser une liste de compréhension pour créer des sous-listes de longueur 'n'
result = list((liste[i:i+n] for i in range(0, len(liste), n)))

print("Diviser la liste en 3 parties:", result)
 

Exercice 6:

Écrire un programme Python pour supprimer la valeur None d’une liste donnée.

Exemple:

Liste originale: [2, None, 1, 7, None, 8, 9]
Résultat: [2, 1, 7, 8, 9]
Solution:

liste = [2, None, 1, 7, None, 8, 9]

print("Liste originale:",liste)

# Utiliser une liste de compréhension pour créer une nouvelle liste "result" contenant des éléments qui ne sont pas "None"
result = [x for x in liste if x is not None]

print("Résultat:", result)
 

Exercice 7:

Écrire un programme Python pour convertir une liste de chaînes de caractères en une liste de listes.

Exemple:

Liste originale: ['Rouge', 'Vert', 'Bleu']
Convertir cette liste en une liste de listes:
[['R', 'o', 'u', 'g', 'e'], ['V', 'e', 'r', 't'], ['B', 'l', 'e', 'u']]
Solution:

liste = ['Rouge', 'Vert', 'Bleu']

print("Liste originale:",liste)

# Utilisez une liste de compréhension pour créer une nouvelle liste "result" dans laquelle chaque chaîne est convertie en une liste de ses caractères
result = [list(word) for word in liste]

print("Convertir cette liste en une liste de listes:")
print(result)
 

Exercice 8:

Ecrire un programme Python pour afficher verticalement chaque élément d’une liste.

Exemple:

Liste originale: ['a', 'b', 'c', 'd']
Affiche verticalement chaque élément de la liste :
a
b
c
d
Solution:

liste = ['a', 'b', 'c', 'd']

print("Liste originale:",liste)

# Parcourez les éléments de la liste et afficher chaque élément sur une nouvelle ligne
for i in liste:
    print(i)
 

Exercice 9:

Écrire un programme Python pour convertir une liste de chaînes de caractères en une seule liste de caractères.

Exemple:

Liste originale: ['a', 'rouge', 'vert', 'd', 'bleu']
Convertit la liste de chaînes de caractères en une seule liste de caractères:
['a', 'r', 'o', 'u', 'g', 'e', 'v', 'e', 'r', 't', 'd', 'b', 'l', 'e', 'u']
Solution:

liste = ['a', 'rouge', 'vert', 'd', 'bleu']

print("Liste originale:",liste)

# Utilisez une liste imbriquée pour créer une nouvelle liste "result" dans laquelle chaque caractère est un nouvel élément de la liste.
result = [i for element in liste for i in element]

print("Convertit la liste de chaînes de caractères en une seule liste de caractères:")
print(result)
 

Exercice 10:

Écrire un programme Python pour insérer un élément dans une liste après chaque nième position.

Exemple:

Liste originale: [1, 2, 3, 4, 5, 6]
Insérer 'z' dans cette liste après chaque deuxième élément:
[1, 2, "z", 3, 4, "z", 5, 6]
Solution:

liste = [1, 2, 3, 4, 5, 6]
char = 'z'
position = 2

print("Liste originale:",liste)

# Créer une liste vide "result" pour stocker la liste modifiée
result = []

# Itère sur la liste avec un pas de 'position' en utilisant un intervalle
for i in range(0, len(liste), position):
    # Compléter "result" avec les éléments de la tranche actuelle de "liste" et ajouter "char".
    result.extend(liste[i:i+position])
    result.append(char)

# Supprimer la dernière occurrence de "char" pour corriger toute insertion supplémentaire
result.pop()

print("Insérer 'z' dans cette liste après chaque deuxième élément:")
print(result)
 

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


 

QCM Python

2 réflexions sur “Exercice Corrigé: Les listes en Python – Partie 10

  • janvier 29, 2025 à 8:42 pm
    Permalien

    Exercice 5 Partie 10
    Je pense qu’il y a une erreur soit dans l’énoncé, soit dans la solution proposée :
    En effet, voici l’énoncé:
    Écrire un programme Python pour diviser une liste en parties de taille spécifiée.

    Exemple:

    Liste originale: [2, 1, 7, 8, 12, 20, 15, 22, 9]
    Diviser la liste en 3 parties: [[2, 1, 7], [8, 12, 20], [15, 22, 9]]
    Diviser la liste en 2 parties: [[2, 1], [7, 8], [12, 20], [15, 22], [9]]

    et maintenant la solution proposée:

    liste = [2, 1, 7, 8, 12, 20, 15, 22, 9]
    n = 3
    print("Liste originale:",liste)
    # Utiliser une liste de compréhension pour créer des sous-listes de longueur 'n'
    result = list((liste[i:i+n] for i in range(0, len(liste), n)))
    print("Diviser la liste en 3 parties :", result)

    or cette solution retourne une liste de tuples et non pas une liste de liste comme demandé
    dans l’énoncé ci-dessus.

    Pour répondre à la question, voici une solution possible :

    result = list([liste[i:i+n] for i in range(0, len(liste), n)])
    print(f"Diviser la liste en {n} parties: {result}")
    Répondre
  • janvier 30, 2025 à 12:11 pm
    Permalien

    Exercice 10 Parti10
    Autre solution possible:

    liste=[1, 2, 3, 4, 5, 6]
    [liste.insert(i, "z") for i in (liste[::-2])[1:]]
    print(liste)

    Note : les chevrons doivent être remplacés par des guillemets

    Répondre

Laisser un commentaire

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