Skip to content

TP-Cours ITC 01

Un type composé de Python : les listes (partie I)

I. Définition et création de liste

I.1. Généralités

Un objet de type composé est une collection d’objets, ordonnés ou non. Les listes, les ensembles, les tuples, les dictionnaires sont des objets de type composé. Ici, nous allons étudier les listes qui sont des objets composés indexés par des entiers tout comme les chaînes de caractères (de type str) ou les tuples c’est-à-dire les n-uplets (de type tuple).

Une liste est une suite d’objets ordonnés séparés par des virgules et enfermés dans des crochets [ et ]. Les éléments d’une liste peuvent être de type quelconque et ne pas être tous du même type.

<

La fonction list permet également de convertir un objet de type str ou range en un objet de type list. Elle peut donc servir à créer une liste comme dans les exemples suivants :

Parcours d’une liste (version 1)

Il est possible de parcourir tous les éléments d’une liste en utilisant une boucle for (pour afficher tous les éléments d’une liste, pour faire la somme des éléments, etc …) selon la syntaxe suivante :

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
for element in maliste:
instructions utilisant la variable element
for element in maliste: instructions utilisant la variable element
for element in maliste:
    instructions utilisant la variable element

Ici, la variable element va prendre les valeurs successives de la liste maliste en commençant par la première, la deuxième, etc … Les exemples suivants illustrent l’utilisation d’une boucle for pour parcourir une liste :

Enfin, on peut former une liste en compréhension par [expr for indice in itérable], ou [expr for indice in itérable if condition]. La liste est ici formée des valeurs de expr quand indice parcourt itérable (et où condition est faculative). Un itérable est tout objet qui peut être traversé, parcouru comme les séquences (type range), les ensembles, les dictionnaires, …

Fabriquer la liste des entiers de 1 à 100 puis la liste cubes des entiers de 1 à 100.

La liste ci-dessous représente une séquence d’ADN :

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
ADN = ["A","C","G","T","T","A","G","C","T","A","A","C","G"]
ADN = ["A","C","G","T","T","A","G","C","T","A","A","C","G"]
ADN = ["A","C","G","T","T","A","G","C","T","A","A","C","G"]

Transformer cette séquence en sa séquence complémentaire. Indication : la séquence complémentaire s’obtient en remplaçant A par T, T par A, C par G et G par C.

Écrire une fonction qui prend comme argument une liste d’entiers et un nombre entier, et qui renvoie la liste où on a retiré ce nombre. Attention, votre fonction ne doit pas modifier la liste donnée en argument !

Écrire une fonction qui prend comme argument une liste d’entiers et qui renvoie une liste en tout point semblable en dehors de son premier élément, remplacé par un 0.

Attention, votre fonction ne doit pas modifier la liste donnée en argument !

Soit n le nombre de devoirs surveillés et x1,x2,,xn les notes de Paul.

Écrire une fonction qui calcule la moyenne de Paul, sachant que sess notes sont données sous la forme d’une liste de réels et que la convention prise en cas d’absence est de mettre −1 à la place de la note du DS.

Utiliser l’exemple ci-dessous pour tester votre fonction :

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
L = [6.5, -1,7,13, -1,11.5,10.5]
L = [6.5, -1,7,13, -1,11.5,10.5]
L = [6.5, -1,7,13, -1,11.5,10.5]

Ici, Paul a été absent à 2 DS. Il faut donc faire la sommes des 5 autres notes et diviser par 5. (réponse : 9.7)