Algorithmes et programmation. Les listes

Sommaire

Généralités

  1. Une liste est une collection ordonnée d’objets. Une liste est déclarée par une série de valeurs (n’oubliez pas les guillemets, simples ou doubles, s’il s’agit de chaînes de caractères) séparées par des virgules, et le tout encadré par des crochets.

Voici une capture d’écran  d’une fenêtre Python où on a défini la liste exemple. Cette liste est composée de cinq objets : trois nombres et deux chaînes de caractères :

2. Chaque objet de la liste est repéré par son indice. Attention : l’indice du premier terme est 0, celui du second est 1. L’élément d’indice i est noté L[i].

Voici une capture d’écran de la console de la fenêtre précédente. On remarque bien que exemple[0] est le premier terme de la liste et que exemple[3] est le quatrième terme de la liste.

3. La longueur d’une liste est son nombre d’éléments. Elle est notée len[L].

Voici une capture d’écran de la console de la fenêtre précédente. 

4. L’instruction list(range(a,b)) génère la liste des entiers de a à b-1

Modifier une liste

Modifier un élément elt1 d’une liste L en elt2.

Il suffit d’écrire l’instruction suivante L[indice_elt1]=elt2

Quelques commentaires :

Attention quand on écrit L[3], il s’agit du terme de la liste de rang 3 donc du quatrième terme.

Question : quelle nouvelle liste est affichée par Edupython ?

Ajouter un élément elt à la liste L.

On veut ajouter un élément en fin de liste, on écrit l’instruction suivante L=L+[elt] ou L.append(elt) 

Remarque : pour l’ajouter en début de liste, on écrit l’instruction suivante L=[elt]+L 

Exemple n°1 

On veut calculer des termes de la suite définie par récurrence,  u_0=1 et u_{n+1}=2u_n+1 et les afficher tous.

Voici une fonction Python qui va permettre de le faire : 

Quelques commentaires :

On crée une fonction que l’on nomme suite. On rappelle que le nom de la fonction est toujours suivi de parenthèses. Ici on rajoute un paramètre dans les parenthèses, c’est une variable que la fonction a besoin de connaître pour pouvoir s’exécuter. Ici cela correspond au rang du dernier terme de la suite qu’on veut déterminer.

On utilise A pour les termes de la suite et on initialise A par la valeur 1 qui correspond à u_0.

On a choisit range (1, n+1) , cela signifie que i prend les valeurs de 1 à (n+1)-1 c’est-à-dire de 1 à n.

Avec l’instruction L.append(A), on ajoute le nouveau terme de la suite à la fin de la liste des termes de la suite.

Le mot-clé return a deux rôles : stopper l’exécution de la fonction et indiquer la valeur à renvoyer par la fonction.

Question : quelle valeur est renvoyée par la fonction si on écrit suite(4) dans la console ?

Exemple n°2 

On veut déterminer les diviseurs d’un nombre donné  et les afficher tous.

Voici une fonction Python qui va permettre de le faire : 

Quelques commentaires :

On crée une fonction que l’on nomme diviseurs. On rappelle que le nom de la fonction est toujours suivi de parenthèses. Ici on rajoute un paramètre dans les parenthèses, c’est une variable que la fonction a besoin de connaître pour pouvoir s’exécuter. Ici cela correspond au nombre donné.

On crée une liste qui contiendra tous les diviseurs de n.

Avec l’instruction L=L+[i], on ajoute le nouveau diviseur de n à la fin de la liste des diviseurs.

Question : quelle liste est renvoyée par la fonction si on écrit diviseurs(45) dans la console ?

Concaténer deux listes

Pour concaténer deux listes L1 et L2 pour en faire une troisième L3, on écrit l’instruction suivante L3=L2+L1

Question : quelle liste est affichée par Edupython si on exécute le programme ?

Quelques fonctions Python utiles.

del L[2] supprime l’élément d’indice 2 ( donc le troisième ) de la liste L

Question : quelle liste est affichée par Edupython si on exécute le programme ?

L.remove (2) supprime le premier élément élément 2 de la liste L

question: quelle liste est affichée par Edupython si on exécute le programme ?

L.reverse inverse l’ordre des éléments de la liste L

question: quelle liste est affichée par Edupython si on exécute le programme ?

L.count(‘P’) compte le nombre de fois où apparaît P dans la liste L

question: quel nombre est affiché par Edupython si on exécute le programme ?

L.index(5) renvoie l’indice du premier 5 de la liste L

question: quel nombre est affiché par Edupython si on exécute le programme ?

L.sort() range les valeurs numériques de la liste dans l’ordre croissant

question: quelle liste est affiché par Edupython si on exécute le programme ?

Réponse:

\overrightarrow{DC}=\overrightarrow{HG}.

Résoudre graphiquement f(x)=1

C’est une autre façon de demander de déterminer graphiquement les antécédents de 1.

Je place 1 sur l’axe des ordonnées, je trace alors la parallèle à l’axe des abscisses passant par 1 toute entière. Je repère les points d’intersection avec la courbe. Les abscisses de ces points sont les antécédents de 1.

Les antécédents sont -2 et 2.

Donc S=\{-2;2\}

Remarque : comme on demande de résoudre une équation, il faut écrire ainsi l’ensemble des solutions.