Catégorie : Les listes

Exercices ou programmes  corrigés (avec solution) sur la manipulation des listes/tableaux ainsi ces fonctions prédéfinies avec le langage de programmation Python. Chaque solution/correction est enrichi par des commentaire explicatif pour rendre la correction plus claire.


Placer les nombres négatifs au début de la liste et les nombres positifs à la fin de la liste

Exercice:  Placer les nombres négatifs au début de la liste et les nombres positifs à la fin de la liste

Écrire une fonction Python NegPos(L) qui permet de placer les nombres négatifs au début de la liste L et les nombres positifs à la fin de la liste L en gardant leurs ordres.

N.B : Faites l’exercice avec deux méthodes :

  1. En ajoutant d’autres listes supplémentaires.
  2. On travaille sans ajouter aucune autre liste que la liste L

Exemple d’exécution :

>>>L=[1,2,-5,8,-6,-2,-4,-9,7,9,-8]
>>> supprimer _redoublant(L)
[-5,-6,-2,-4,-9,-81,2,8,7,9]


Supprimer les redoublants d’une liste

Exercice: Supprimer les redoublants d'une liste

Écrire une fonction Python supprimer_redoublant(L) qui supprime tous les redoublants d’une liste L sans ajouter des listes supplémentaires.

Exemple d’exécution :

>>>L=[1,2,5,8,6,2,5,9,1,8,8]
>>> supprimer _redoublant(L)
[1, 2, 5, 8, 6, 9]


Insérer une valeur val dans une liste triée

Exercice:Insérer une valeur val dans une liste triée

Écrire une fonction Python inserer( val , L ) qui permet d'insérer une valeur val dans une liste L triée, sans ajouter d’autres liste supplémentaire.

Exemple d’exécution :

>>>L=[ 2,4,8,10,15,19,20,25]
>>> insert(6,L)
[ 2,4,8,6,10,15,19,20,25]


Supprimer tous les zéros d’une liste

Ecrire une fonction Python SupprimerZero(L) qui supprime tous les zéro d’une liste L sans ajouter des listes supplémentaires.

Exemple d’exécution :

>>>L=[ 2 , 5 , 8 , 0 , 0 , 0 , 0 , 0 , 5 , 2 , 3 , 6 , 6 , 6 , 8 ]
>>> SupprimerZero(L)
[2, 5, 8, 5, 2, 3, 6, 6, 6, 8]


Comparaison entre les tris: Insertion, sélection, à bulles, rapide et fusion

Programme Python qui compare la performance et la rapidité entre les tris déjà vus (Tri par sélection, par insertion, à bulles, rapide et fusion) en calculant le temps d'exécution de chaque tri sur une liste générée aléatoirement de taille 1000.


Tri par fusion

Fonction Python tri_fusion(L) qui permet de trier une liste L en utilisant l'algorithme de tri par fusion, L est une liste passée en paramètre. Principe de Tri rapide Le principe du tri par fusion, comme le tri rapide, basé à nouveau d’un tri suivant le paradigme diviser pour régner dont le principe est le suivant:
  • On divise en deux moitiés la liste à trier.
  • On trie chacune d’entre elles.
  • On fusionne les deux moitiés obtenues pour reconstituer la liste triée.

Tri Rapide – quicksort –

Fonction Python tri_rapide(L) qui permet de trier une liste L en utilisant l'algorithme de tri rapide, L est une liste passée en paramètre.

Principe de Tri rapide

Le principe du tri rapide (en anglais quicksort) est de diviser la liste en deux sous listes telles que les éléments de la première soient inférieurs aux éléments de la seconde. On recommence jusqu'à avoir des sous-listes réduites à un seul élément.


Tri à bulle

Fonction Python tri_a_bulle( L ) qui retourne une liste L triée en utilisant l'algorithme de tri à bulle, L est une liste passée en paramètre.


Tri par insertion

Fonction Python tri_par_insertion( L ) qui retourne une liste L triée en utilisant l'algorithme de tri par insertion, L est une liste passée en paramètre.


Tri par sélection

Fonction Python tri_par_selection( L ) qui retourne une liste L triée en utilisant l'algorithme de tri par sélection, L est une liste passé en paramètre.


Top