Les classiques à maîtriser absolument.

Trouver un élément.

Savoir si un élément est dans une liste est très utile, par exemple 10 est dans la liste [4, 5, 10, 8] mais pas 2. On peut se contenter de la réponse True ou False mais on peut aussi vouloir la position de l'élément dans la liste.

Python permet de faire les choses en une ligne, 2 in [4, 5, 10, 8] retourne False par exemple et [4,5,10,8].index(5) retourne 1. Attention au bac on vous demandera de ne pas utiliser ses fonctions !

Au niveau de la complexité les algorithmes sont en moyenne en O(n) mais en O(1) dans les meilleurs cas.

Exercices
  1. Remplacer les ??? par ce qu'il faut :
  2. 
    			
  3. Les fonctions suivantes font elle la même chose ? Les commenter.
  4. 
    			
  5. Faire une fonction qui retourne la position de la première apparition de l’élément ou -1 si l'élément n'est pas présent.
  6. 
    			
  7. Faire une fonction qui retourne la position de la dernière apparition de l’élément ou -1 si l'élément n'est pas présent.
  8. 
    			
    			
  9. Faire une fonction qui prend en paramètre une liste contenant elle aussi des listes et un nombre et qui doit retourner True si nb se trouve dans une des sous listes.
  10. 
    			
  11. Faire une fonction qui prend deux listes liste_nom et liste_prenom de chaînes de caractères de même taille et une chaîne de caractère nom et qui retourne le prénom associé au nom donné ou -1 si le nom n'existe pas dans chaîne nom.
  12. 
    			

Les compteurs

Le problème est une extension du problème précédent, au lieu de dire si un élément apparaît on donne le nombre de fois où il apparaît. Par rapport au problème précédent cela oblige à parcourir l'ensemble du tableau, les algorithmes sont en O(n) où n est la longueur de la liste.

Exercices
  1. Les tabulations d'une fonction de comptage ont été supprimées, les replacer.
  2. 
    		
  3. Faire une fonction qui compte le nombre de positifs dans une liste.
  4. 
    		
  5. Faire une fonction qui compte le nombre total de lettres dans une liste de chaîne.
  6. 
    		
  7. Faire une fonction qui va retourner un tableau contenant la position de toutes les fois où l’élément apparaît.
  8. 
    		

Les opérateurs

Le cas typique est la somme des éléments (qui se fait en Python en une ligne avec l'instruction sum), on peut l'utiliser aussi pour calculer une moyenne, convertir en décimal un nombre en binaire.

Exercices
  1. Compléter les fonctions suivantes pour qu'elles permettent de faire la somme des éléments d'une liste.
  2. 
    		
  3. Faire une fonction qui utilise la fonction précédente pour calculer la moyenne des éléments d'une liste.
  4. Faire une fonction moyenne_coefficent qui prend en paramètre une liste de valeurs et une liste de coefficients et qui va calculer la moyenne coefficienté.
  5. 
    		
  6. Faire une fonction binaire_decimal(liste) qui a une liste contenant des 0 et des 1 donne la conversion en décimal.
  7. 
    		
  8. (Pour les matheux) On peut représenter un polynôme dans un ordinateur en donnant la liste des coefficients (par exemple 4x3+6x+4 est juste représenté par [4,0,6,4]). Faire une fonction image(poly, x) qui a un flottant x associe l'image de x par le polynôme représenté dans la liste poly.
  9. 
    		

Les extrêmes

On cherche le maximum ou minimum d'une liste, dans les variantes on peut demander la position, les positions des maximums... .

Exercices
  1. Compléter les fonctions suivantes pour qu'elles permettent de donner le maximum d'une liste.
  2. 
    		
  3. Donner une fonction qui donne la position du premier maximum d'une liste.
  4. Donner une fonction qui donne la position du dernier maximum d'une liste.
  5. Donner une fonction qui donne le maximum et le minimum d'une liste.
  6. Donner une fonction maximum_entre(liste, a, b) qui donne la position du mximum d'une liste comprise entre la position a inclue et b exclu.