Exercice Corrigé: Les listes en Python – Partie 7

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 extraire des chaînes de caractères d’une taille spécifiée à partir d’une liste donnée.

Exemple:

Liste originale: ['Python', 'Java', 'PHP', 'ADA', 'C++']
longueur de la chaîne à extraire : 3
Après avoir extrait les chaînes de longueur spécifiée:
['PHP', 'ADA', 'C++']
Solution:

liste = ['Python', 'Java', 'PHP', 'ADA', 'C++']
longueur = 3

print("Liste originale:",liste)
print("Après avoir extrait les chaînes de longueur spécifiée:")

# Utiliser une liste de compréhension pour filtrer les chaînes de caractères dans 'liste' avec une longueur de '3'
result = [e for e in liste if len(e) == longueur]
print(result)
 

Exercice 2:

Écrire un programme Python pour extraire un nombre spécifié d’éléments d’une liste donnée, qui se suit en continu.

Exemple:

Liste originale: [1, 1, 2, 4, 4, 8, 6, 3]
Extraire de cette liste 2 nombres d'éléments qui se suivent sans interruption:
[1, 4]
------------------------------------------------------------------
Liste originale: [0, 1, 5, 5, 5, 5, 6, 3]
Extraire de cette liste 4 nombres d'éléments qui se suivent sans interruption:
[5]
Solution:

# Import the 'groupby' function from the 'itertools' module
from itertools import groupby

liste = [1, 1, 2, 4, 4, 8, 6, 3]
n = 2

print("Liste originale:",liste)
print("Extraire de cette liste 2 nombres d'éléments qui se suivent sans interruption:")

# Utilisez une liste de compréhension et "groupby" pour filtrer les éléments de "liste" qui apparaissent "n" fois
result = [i for i, j in groupby(liste) if len(list(j)) == n]
print(result)
 

Exercice 3:

Écrire un programme Python pour compter les nombres entiers dans une liste mixte donnée.

Exemple:

Liste originale: [3, 'test', 9, 9.2, 4, 'str', 5, 'py', 6, -1]
Nombre d'entiers dans la liste mixte est: 6
Solution:

liste = [3, 'test', 9, 9.2, 4, 'str', 5, 'py', 6, -1]

# Initialiser un compteur 'ctr' à 0
ctr = 0
# Parcourir les éléments de "liste"
for i in liste:
    # Vérifier si l'élément courant est un entier en utilisant 'isinstance'
    if isinstance(i, int):
        # Incrémente le compteur si l'élément est un entier
        ctr = ctr + 1

print("Liste originale:",liste)

# Afficher le nombre d'entiers dans la liste
print("Nombre d'entiers dans la liste mixte est:",ctr)
 

Exercice 4:

Écrire un programme Python pour supprimer une colonne spécifiée d’une liste imbriquée.

Exemple:

Liste originale: [[1, 2, 3], [2, 6, 7], [3, 4, 5]]
Après avoir enlevé la 1ère colonne:
[[2, 3], [6, 7], [4, 5]]
Solution:

liste = [[1, 2, 3], [2, 6, 7], [3, 4, 5]]

# Définir l'index de colonne 'n' à 0
n = 0

print("Liste originale:",liste)

# Parcourir les sous-listes de "liste"
for i in liste: 
    # Supprimer l'élément à l'index "n" dans chaque sous-liste
    del i[n] 
	
# Afficher la "liste" modifiée après suppression de la colonne
print("Après avoir enlevé la 1ère colonne:",liste)
 

Exercice 5:

Écrire un programme Python pour extraire une colonne spécifiée d’une liste imbriquée.

Exemple:

Liste originale: [[1, 2, 3], [2, 6, 7], [2, 4, 5]]
Extraire la 1ère colonne:
[1, 2, 2]
Solution:

liste = [[1, 2, 3], [2, 6, 7], [2, 4, 5]]

# Définir l'index de colonne 'n' à 0
n = 0

print("Liste originale:",liste)

# Utiliser une liste de compréhension pour extraire et supprimer la colonne "n" de chaque sous-liste de "liste"
result = [i.pop(n) for i in liste]

# Afficher les valeurs extraites dans la liste "result"
print("Extraire la 1ère colonne:",result)
 

Exercice 6:

Écrire un programme Python pour trouver l’élément ayant le plus d’occurrences dans une liste donnée.

Exemple:

Liste originale: [1, 1, 2, 1, 3, 3, 4]
Elément ayant le maximum d'occurrences dans la liste est: 1
Solution:

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

# Initialiser 'max' à 0 et 'result' au premier élément de la liste
max = 0
result = liste[0]
    
# Parcourir les éléments de la liste
for i in liste:
    # Compter les occurrences de l'élément courant 'i' dans la liste
    occu = liste.count(i)
        
    # Vérifier si le nombre d'occurrences est supérieur au maximum actuel
    if occu > max:
        # Mettre à jour "max" et "result" si une occurrence supérieure est trouvée
        max = occu
        result = i

print("Liste originale:",liste)

# Afficher l'élément ayant le plus grand nombre d'occurrences
print("Elément ayant le maximum d'occurrences dans la liste est:",result)
 

Exercice 7:

Écrire un programme Python pour accéder à plusieurs éléments à un index spécifié dans une liste donnée.

Exemple:

Liste originale: [1, 5, 9, 2, 3]
Liste d'index: [0, 2, 4]
Éléments dont l'index est spécifié dans la liste: [1, 9, 3]
Solution:

liste = [1, 5, 9, 2, 3]
index = [0, 2, 4]

# Utiliser une liste de compréhension pour créer une nouvelle liste contenant des éléments de "liste" aux index spécifiés dans "index"
result = [liste[i] for i in index]

print("Liste originale:",liste)

print("Liste d'index:",index)

print("Éléments dont l'index est spécifié dans la liste:",result)
 

Exercice 8:

Écrire un programme Python pour vérifier si une liste spécifiée est triée ou non.

Exemple:

Liste originale: [1, 3, 4, 7, 9]
True
Solution:

liste = [1, 3, 4, 7, 9]

print("Liste originale:",liste)

# Utilisez la fonction "all" pour vérifier si tous les éléments de la liste sont dans un ordre non décroissant
result = all(liste[i] <= liste[i+1] for i in range(len(liste)-1))

print(result)
 

Exercice 9:

Écrire un programme Python pour supprimer les entrées dupliquées d'un dictionnaire dans une liste donnée.

Exemple:

Liste originale avec dictionnaire dupliqué:
[{'A' : '1'}, {'B' : '2'}, {'C' : '3'}, {'A' : '1'}]
Après avoir supprimé le dictionnaire dupliqué de la liste:
[{'B' : '2'}, {'C' : '3'}, {'A' : '1'}]
Solution:

liste = [{'A' : '1'}, {'B' : '2'}, {'C' : '3'}, {'A' : '1'}]

print("Liste originale:",liste)

# Utiliser une set de compréhension pour convertir chaque dictionnaire 
# de la liste en un tuple et supprimer les doublons.
# Ensuite, reconvertir les tuples uniques en dictionnaires.
result = [dict(e) for e in {tuple(d.items()) for d in liste}]

print("Après avoir supprimé le dictionnaire dupliqué de la liste:")
print(result)
 

Exercice 10:

Écrire un programme Python pour extraire le nième élément d'une liste de tuples.

Exemple:

Liste originale: 
[('Alex', 10, 15), ('Bob', 20, 55), ('Emily', 30, 9)]
Extraire le nième élément (n = 0) de cette liste de tuples:
['Alex', 'Bob', 'Emily'].
Solution:

liste = [('Alex', 10, 15), ('Bob', 20, 55), ('Emily', 30, 9)]
n = 0

print("Liste originale:",liste)

# Utiliser une liste de compréhension pour extraire le nième élément (index n) de chaque tuple de la liste
result = [x[n] for x in liste]

print("Extraire le nième élément (n = 0) de cette liste de tuples:")
print(result)
 

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


 

QCM Python

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

  • janvier 25, 2025 à 11:14 am
    Permalien

    Exercie 6 Partie 7
    Une autre solution possible:

    from itertools import groupby
    liste = [1, 1, 2, 1, 3, 3, 4]
    print(max(sorted([(k, len(list(group))) for k, group in groupby(sorted(liste))], key=lambda a: a[1]), key=lambda a: a[1]))
    Répondre
  • janvier 25, 2025 à 6:42 pm
    Permalien

    Exercice 6 Partie 8
    Une autre solution possible :

    liste=[1, 3, 4, 7, 9]
    res = lambda liste: sorted(liste)==liste
    print(res(liste))
    Répondre

Laisser un commentaire

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