Leçon 5

Les tableaux en Python

Dans le répertoire Python créez un dossier cours5. Il contiendra tous les fichiers de cette leçon.

Tableau et chaîne de caractères

Copiez le code du programme un_tableau.py ci-dessous.


On remarque que les tabeaux seront traités, en partie, de la même façon que les chaînes de caractères.
En Python nous nommerons les tableaux des listes. Cependant contrairement aux chaînes de caractères qui sont immutables, les listes ne le sont pas, elles sont donc mutables.
Cela signifie que l'on peut modifier un élément d'une liste comme nous le faisons en ligne 6.
On remarque aussi qu'une liste peut contenir des éléments de types distincts.
On nommera les éléments d'une liste les items

Opérations sur les items d'une liste

Ajout d'un item dans une liste. La méthode append()

Modifiez le script précédent en ajoutant les lignes ci-dessous :


Remarque

On peut aussi ajouter un élément ou plusieurs à l'aide le l'opérateur '+'
Complétez le script précédent en ajoutant les lignes 12 et 13 ci-dessous.


Supprimer un item

Il existe deux façons de supprimer un item : la commande del et la méthode remove.
Complétez le script précédent en ajoutant les lignes 14 à 17 ci-dessous.


Existence d'un item dans une liste

Pour tester si un item est dans une liste on écrit tout simplement element in liste
Recopiez le script dans_liste.py ci-dessous

Compter les occurrences d'un item

La méthode count permet de savoir le nombre de fois qu'apparaît un item dans une liste.
Testez le code ci-dessous

Choix aléatoire d'un item dans une liste

L'instruction choice(liste) permet de chosir de manière aléatoire un élément dans la liste.
En première ligne du script il sera nécessaire d'importer toute la bibliothèque random en écrivant from random import*.
Créez le programme aleatoire_liste.py dont le code est ci-dessous .

Indice d'un item dans une liste

Pour connaître l'indice d'un élément dans une liste on utilise la méthode index(element)
Recopiez le script dans_liste.py ci-dessous

Parcourir une liste

Créez le programme parcourir.py dont le code est ci-dessous .


On remarquera que prenoms avec un s est la variable liste et prenom sans le s est la variable qui prend comme valeur chaque élément du tableau.

Création d'une liste

La fonction range

La fonction range, utilisée dans la boucle for crée une liste de nombres successifs.

Saisir un tableau au clavier

Créez le programme saisie.py dont le code est ci-dessous .


L'instruction eval permet de saisir une liste.
On mettra les crochets en début et en fin de liste et chaque valeur est séparée par une virgule.

Créer une liste aux items identiques

Pour créer une liste ne comprenant que des items prenant la même valeur, on utilise l'opérateur *
Testez le code ci-dessous

Construire une liste par compréhension

Construire une liste par compréhension permet de simplifier le code dans la création d'un liste.
Testez le code ci-dessous

Les listes L2 et L3 sont des créations en compréhension de la liste souhaitée.

Manipulation des listes

Trier une liste

La méthode sort() trie une liste.
Nous coderons nous même des algorithme de tri dans le prochain chapitre.
Testez le code ci-dessous.

Inverser l'ordre des items d'une liste

La méthode reverse() inverse l'ordre d'une liste.
Complétez le code précédent en ajoutant les lignes 5 et 6.

Traitement d'une partie de la liste

On peut envisager seulement une partie des items successifs d'un liste..
Complétez le code précédent en ajoutant les lignes 5 et 6.

Dupliquer une liste

La duplication d'un liste est délicate dans la mesure où la simple égalité permet seulement de donner un deuxième nom à une même liste. Ainsi si nous modifions une des deux variables, l'autre sera modifiée.
Testez le code ci-dessous.

Pour créer deux listes indépendantes on modifiera la ligne 2 :

Dans cet exemple tous les items de la liste prenoms ont été recopiés dans la liste names.
On a créé ainsi une nouvelle liste indépendante de la première.

Liste et chaîne de caractères

Le méthode join() permet de transformer une liste en chaîne de caractères.
Le méthode split() permet de transformer une chaîne de caractères en liste. Testez le code ci-dessous.

Concaténation de deux listes

La méthode extend() permet de concaténer deux listes.
Testez le code ci-dessous.

Exercices

Exercice 1

Modifiez le script dans_liste.py, que vous appellerez dans_liste_majuscule.py où les prénoms de la liste prenoms seront écrit en majuscules.
De plus le script dira que le prenom cherché est dans la liste sans tenir compte des majuscules ou des minuscules.
Si l'utilisateur tape "Anne", "anne" ou encore "aNNe" le script dira que ce prenom se trouve dans la liste.

Exercice 2

Modifiez le script aleatoire_liste.py, que vous appellerez aleatoire_liste_six.py où le script affichera si le prenom chosi de manière aléatoire contient plus de six ou moins de six catractères.

Exercice 3

Modifiez le script parcourir.py, que vous appellerez parcourir_while.py en changeant la boucle Pour par une boucle Tant que.

Exercice 4

Créez un programme "six.py" qui reprend le script parcourir.py.
Ce programme affichera deux tabeaux issus du tabeau prenoms, un tableau inf6 et un tableau sup6, le premier contiendra les prénoms de moins de 6 caractères et le second de 6 ou plus.


Aide : Algorithme

Exercice 5

Ecrire un programme maximum.py qui :

  1. saisie le tableau nombres = [32, 5, 12, 8, 3, 75, 2, 15],
  2. affiche le plus grand élément présent dans le tableau nombres

Aide : Algorithme

Exercice 6

Ecrire un programme parite.py qui :

  1. saisie le tableau nombres = [32, 5, 12, 8, 3, 75, 2, 15],
  2. affiche deux nouveaux tableaux, pairs et impairs. Le premier contiendra seulement les nombres pairs du tableau nombres, et l’autre les nombres impairs.

Aide : Algorithme

Exercice 7 : la double boucle

Ecrire un programme voyelles.py qui affiche le nombre de voyelles contenues dans le tableau prenoms de l'exercice 1. Pour cela il faudra envisager deux boucles, une qui parcourt le tableau prenoms et l'autre qui lit les caracteres de chaque prenom de la liste prenoms.


Aide : Algorithme

Exercice 8

Ecrire un programme communs.py qui affiche un tableau communs contituté des éléments communs à deux tableaux, prenoms1 et prenoms2.


Aide : Algorithme