0% ont trouvé ce document utile (0 vote)
6 vues5 pages

Manipulation des Listes en Python

Le document traite de la manipulation des listes et des tableaux en Python, incluant des opérations telles que l'ajout, l'insertion, la lecture et la suppression d'éléments. Il présente également des exercices pratiques pour renforcer la compréhension des concepts, ainsi que des exemples de création de listes et de matrices. Enfin, il aborde le fonctionnement des listes en tant que pointeurs et propose des exercices récapitulatifs sur les fonctions polynomiales.

Transféré par

steamii.yt2603
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
6 vues5 pages

Manipulation des Listes en Python

Le document traite de la manipulation des listes et des tableaux en Python, incluant des opérations telles que l'ajout, l'insertion, la lecture et la suppression d'éléments. Il présente également des exercices pratiques pour renforcer la compréhension des concepts, ainsi que des exemples de création de listes et de matrices. Enfin, il aborde le fonctionnement des listes en tant que pointeurs et propose des exercices récapitulatifs sur les fonctions polynomiales.

Transféré par

steamii.yt2603
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Tableaux – Les listes en Python

1) Manipulation des données d’une liste : ajout, insertion, lecture et suppression de terme
Exemple :
Tableau ne comportant qu’une ligne : la liste Représentation en Python
liste1 = [3, 7, 9]
1er élément 3 7 9 2ème élément
Indice 2
3ème élément Indice 0 Indice 1

On considère la liste suivante :


semaine = [‘lundi’, ‘mercredi’,’jeudi’,’vendredi’,’samedi’]

Les instructions à executer s’effectuent dans l’ordre indiqué et s’accumulent.

Instruction à exécuter
1 On veut ajouter le dimanche à la fin de la liste semaine
On obtient la liste : semaine = [
2 On veut insérer ‘mardi’ entre ‘lundi’ et ‘mercredi’ à la liste semaine
On obtient la liste : semaine = [
3 Quelle instruction faut-il écrire pour obtenir « jeudi ».

EXERCICE 1
Soit la liste L définie par L = [10, 11, 12, 13, 14, 15, 16, 17, 18, 19]
1. Ajouter en fin de la liste L le nombre 20
2. Ajouter en début de liste L la liste des entiers compris entre 5 et 15
3. Supprimer de la liste L le premier élément, puis le dernier élément.
4. Supprimer la première occurrence de l’élément 15.
5. À l’aide d’une boucle for, remplacer les éléments de la liste L qui sont multiples de 5 par votre nom.

EXERCICE 2

Script 1 Indiquer ce que contient a


L1 a = [2,4,8,9,10]
L2 a[1] = 3
L3 a[3] = 1
L4 del a[2]
L5 a[2]= 5

Script 2 Indiquer ce que contient a


L1 a = [2,4,8,9,10]
L2 a = [3] + a
L3 a[0] = 1
L4 [Link](3,2)
L5 [Link](7)

NSI – Python Listes - 1-5


p. 1
2) Manipulation des données d’un tableau : ajout, insertion, lecture et suppression de terme

Un tableau à plusieurs lignes et colonnes est appelé matrice. Une matrice peut être modélisée par une liste de
listes en Python.

Exemple :
Matrice Représentation en Python

3 7 9

2ème ligne, 2 13 45
2 est l’élément
1ère colonne
identifié par
4 5 6
matrice1[1][0]

Ce tableau est formé de 3 lignes et 3 colonnes.


C’est une matrice (3,3)

3 7 9 2

2 13 45 5

4 5 6 3

Ce tableau est formé de 3 lignes et 4 colonnes.


C’est une matrice (3,4)

Réponse
1 A quoi correspond : matrice1[1]
2 Quelle instruction faut-il écrire pour lire le nombre 45 dans matrice2 ?
3 Quelle instruction faut-il écrire pour remplacer la valeur 4 de matrice1 en 44 ?
4 Quelle est la valeur de len(matrice1) ?
5 L1 = [3,7,9,2]
L2 = [2,13,45,5]
L3 = [4,5,6,3]
matrice2=[]
Comment créer matrice2, à partir de L1, L2 et L3 ?
6 Supprimer le nombre 13 dans matrice1.

EXERCICE 3
Créer en python matrice59 qui correspond à la table de multiplication des nombres entre 5 et 9.
matrice59 = [[25, 30, 35, 40, 45],
[30, 36, 42, 48, 54],
[35, 42, 49, 56, 63],
[40, 48, 56, 64, 72],
[45, 54, 63, 72, 81]]

NSI – Python Listes - 2-5


p. 2
3) Fonctionnement d’une liste

Contrairement aux autres variables, les listes en Python sont des pointeurs (ou des alias). Cela signifie qu’une
liste est un lien vers une adresse en mémoire ce qui permet ainsi de gérer des objets dont on ne connaît pas la taille.
Ainsi, dans une fonction, toute modification sur une liste existante se répercute dans le programme principal.
Si on écrit L2 = L1, python comprend que les listes L1 et L2 sont les mêmes objets (ils pointent vers la même
adresse), et donc modifier L1 revient à modifier L2 et inversement.
Ainsi pour obtenir une copie indépendante de L1, il faut écrire L2 = L1 [ : ]. Ainsi L1 est une nouvelle liste qui
contient les mêmes éléments que L . Par contre, si L est une matrice, il faut utiliser la méthode deepcopy du module
copy, pour réaliser une copie indépendante de tous les éléments. L1 = deepcopy(L)

Exemple 1
def ilfaitbeau(L):
[Link](5)
L=[1,3,5]
ilfaitbeau(L)
print(L) # Ce programme affiche [1,3,5,5]

Pour bien comprendre le fonctionnement d’une liste, on vous propose d’utiliser l’outil
[Link] , qui permet de visualiser les liens entre les différents objets créés et modifiés par Python

Exemple 2
var1 = 'bleu'
var2 = var1
var1 = 'rouge'
print ('var1 =', var1)
print('var2 =', var2)

L1 = ['bleu','blanc']
L2 = L1
L1[0] = 'rouge'
print ('L1 = ', L1)
print ('L2 = ', L2)

On constate que le mode de fonctionnement de la variable et de la liste est différent. Les listes L1 et L2 « pointent »
vers la même adresse en mémoire. Ainsi, si on modifie un élément de l’une, on modifie un élément de l’autre.

EXERCICE 4
L1 = [« bleu », « blanc »]
L2 = L1 [:]
L2[0] = « rouge » Qu’affiche ce programme ? Le vérifier en allant sur [Link]
print « L1 = », L1
print « L2 = », L2

EXERCICE 5
a = 5
b = [1,2]
c= "Hello" Qu’affiche ce programme ? Le vérifier en allant sur [Link]
L = []
[Link](a)
[Link](b)
[Link](c)
a = 3
b[0]=3
c= "Bonjour"
print(L)

NSI – Python Listes - 3-5


p. 3
4) Création d’une liste

Il existe plusieurs manières de créer une liste. En effet, les listes peuvent être générées :

• en listant tous les termes

• en extension, c’est-à-dire en ajoutant terme après terme

• en compréhension.

Exemple 1 : je veux créer la liste carres qui contient tous les carrés des nombres entiers compris entre 1 et 10.

1) La liste est générée en listant tous les termes

carres = [1, 4, 9, 16, 25, 36, 49, 64, 81, 100]

2) La liste est générée en extension


carres = []
for i in range(1,11) :
[Link](i**2)

3) La liste est générée en compréhension


carres = [i**2 for i in range(1,11)]

Exemple 2 Je veux créer la liste couples qui contient tous les couples (x, y) tels que : x et y sont différents , x est
compris entre 1 et 3 et y est compris entre 1 et 4.

1) La liste est générée en listant tous les termes

couples = [(1,2),(1,3),(1,4),(2,1),(2,3),(2,4),(3,1),(3,2),(3,4)]

2) La liste est générée en extension


couples = []
for x in range(1,4) :
for y in range (1,5) :
if x !=y :
[Link]((x,y))

3) La liste est générée en compréhension


couples = [(x,y) for x in range(1,4) for y in range(1,5) if x !=y]

EXERCICE 6
A) Créer une liste comprenant tous les multiples de 3 strictement inférieurs à 25, des trois manières décrites en
cours

B) Créer une liste comprenant tous les nombres de 1 à 25 inclus sauf les multiples de 3, des trois manières
décrites en cours.

C) Créer une liste comprenant toutes les combinaisons possibles de 3 dés dont la somme est 10

NSI – Python Listes - 4-5


p. 4
5) Itérer sur les éléments d’un tableau

EXERCICE 7
Compléter la fonction ci-dessous pour quelle donne le maximum d’une liste de nombres
def maxListe(liste) :
max = liste[ ]
taille = len(liste)
for i in range(0, )):
if :
max = liste[i]
return max

On considère la liste : [7, 1, 9, 87, 65.3, 65.2, 3, 90, 34.3, 21]


• Quelle est la valeur maximale des termes de cette liste ?
• En utilisant la fonction que vous avez écrite, donner le maximum de cette liste

A l’aide de la question précédente, écrire une fonction donnant le minimum d’une liste de nombres
def minListe(liste) :

On considère la liste : [7, 1, 9, 87, 65.3, 65.2, 3, 90, 34.3, 21]


• Quelle est la valeur minimale des termes de cette liste ?
• En utilisant la fonction que vous avez écrite, donner le minimum de cette liste

6) Devoir maison : exercice récapitulatif

EXERCICE 8

On considère une fonction polynôme 𝑓 définie par 𝑓(𝑥) = 𝑎𝑛 𝑥 𝑛 + 𝑎𝑛−1 𝑥 𝑛−1 + … + 𝑎𝑘 𝑥 𝑘 + ⋯ + 𝑎1 𝑥 + 𝑎0 .


On souhaite écrire un programme qui calcule l’image d’un réel 𝑥 par cette fonction 𝑓.
Pour cela on créé plusieurs fonctions.

1) Une fonction que l’on nomme lecturePoly() :


En entrée : - demande le degré 𝑛 de la fonction polynôme
- demande la valeur des 𝑎𝑘 en commençant par 𝑎0
En sortie : La fonction retourne la liste des 𝑎𝑘 en commençant par 𝑎0

2) Une fonction que l’on nomme polyImage(poly,x):


En entrée : - poly : valeur des 𝑎𝑘 en commençant par 𝑎0
- x : valeur du réel dont on veut calculer l’image
En sortie : La fonction retourne l’image du réel 𝑥 par cette fonction polynôme.

3) Une fonction main()qui nous permet de tester notre programme.


Cette fonction nous demande la valeur du réel 𝑥.

On testera le programme avec la fonction 𝑓 définie par : 𝑓(𝑥) = 3𝑥 2 − 5𝑥 + 4 et on calculera les images des
nombres -3, -4 et 7 par cette fonction 𝑓.

NSI – Python Listes - 5-5


p. 5

Vous aimerez peut-être aussi