Page 70 - Activités algorithmiques avec Python en spécialité Mathématiques
P. 70
Appendice 1 – compléments Python
Listes en compréhension
Troisième moyen de définir des listes, proche de la notation mathématique des ensembles.
L=[élément_k for k in range(N)] L=[k**2 for k in range(8)]
Manipulations de listes
Syntaxe
Exemple
Syntaxe
Exemples
Les listes de Python sont indexées à partir de 0. Si on a une liste L, sa longueur est donnée par len(L), son premier terme est L[0], le second L[1] et le dernier L[len(L)-1].
>>>L=[2,3,5,7] >>>L[1]
3
>>>len(L)
4
Pour ajouter un terme à la fin de la liste L, on passe par l’instruction L.append(element). Pour retirer le terme de numéro k, on passe par l’instruction L.pop(k) qui supprime L[k] de L et renvoie sa valeur (la liste L est ainsi raccourcie).
>>>L.append(11) >>>L.pop(0)
2
>>>L [3,5,7,11]
Pour avoir la sous-liste débutant au terme d’indice k et sans limite on code L[k:], alors que la sous-liste commençant au début et s’arrêtant au terme d’indice k-1 se code L[:k]. Quant à chercher l’indice d’un terme valant p (s’il existe), on l’obtient avec L.index(p) (si aucun terme de L n’a la valeur p, cela provoque une erreur).
>>>L.append(11) >>>L.pop(0)
2
>>>L [3,5,7,11]
Pour mettre « bout à bout » (concaténer) deux listes L1 et L2, on code cela : L1+L2.
>>>L2=[13,17,19] >>>L+L2 [3,5,7,11,13,17,19]
Pour trier une liste L, on code : L.sort(). Pour le tri à l’envers on fait : L.reverse().
Si on veut créer une liste triée LS à partir de L, sans écraser L, on code : LS=sorted(L). Et à l’envers : reversed(L).
>>>L.reverse() >>>L [11,7,5,3] >>>sorted(L) [3,5,7,11]
Connaître la valeur la plus élevée dans une liste se fait avec la fonction max, la plus faible avec la fonction min, la somme avec la fonction sum.
>>>min(L),max(L),sum(L) (3,11,26)
>>> def moy(l):
... return sum(l)/len(l) >>> moy(L)
6.5
Parcourir une liste se fait avec le mot-clé for : for k in L:
>>> p=1
>>> for k in L: p=p*k ...
>>> p
1155
68 Ce document est mis à disposition sous licence Creative Commons © Texas Instruments 2021-2022 / Photocopie autorisée

