Université de Provence Licence Math-Info Première Année V. Phan Luong Algorithmique et Programmation en Python LISTE Une liste est une suite d’éléments que l’on peut accéder par l’index. En Python, les éléments d’une liste peuvent être hétérogènes, c’est-à-dire, de types différents. Les éléments d’une liste sont encadrés entre deux crochets et séparés par les virgules. L1 = [1, 2, 3, 4, 5, 6] L2 = [5, 6, ’a’, ’toto’, [’mars’, 2013], [] ] Pour connaı̂tre la longueur d’une liste, utiliser la fonction len() : len(L1) = 6, len(L2) = 6. Dans la suite, nous considérons l’exécution succesive des exemples donnés sous l’interpreteur Python. 1 Accès aux éléments d’une liste L1[0] = 1, L1[1] = 2, ..., L1[5] = 6 L2[0] = 5, L2[1] = 6, L2[3] = ’toto’, ..., L2[5] = [] (le sixième élément de L2 est une liste vide et à l’index 5). Accès à une plage d’éléments : L1[1 : 4] = [2,3,4], L2[1 : 4] = [6, ’a’, ’toto’] (l’élément correspondant au dernier index de la plage est exclu du résultat). L1[2 :] = [3, 4, 5, 6], L1[ :2] = [1, 2] L1[ :6] et L1[0 : ] sont identiques à L1. Particularrités de Python : On peut utiliser les nombres négatifs comme index. Accès au dernier élément : L1[-1] = 6, L2[-1] = [] Accès à une plage d’éléments : L1[-1 :] = [6], L1 = [ :-1] = [1, 2, 3, 4, 5] L1[-4 :-1] = [3, 4, 5] 2 Construction de listes Donner tous les éléments : L2 = [5, 6, ’a’, ’toto’, [’mars’, 2013], [] ] 1 Utiliser la fonction range() : R1 = range(4) résulte R1 = [0, 1, 2, 3] R2 = range(3, 6) résulte R2 = [3, 4, 5] Utiliser l’opérateur + (concaténation de listes) : R3 = R1 + R2 résulte R3 = [0, 1, 2, 3, 3, 4, 5] Utiliser l’opérateur ∗ (répétition) : R4 = R1 * 3 résulte R4 = [0, 1, 2, 3, 0, 1, 2, 3, 0, 1, 2, 3] 3 Mise à jour d’une liste Modification d’éléments R4[len(R1)] = ’a’ résulte R4 = [0, 1, 2, 3, ’a’, 1, 2, 3, 0, 1, 2, 3] R3[len(R1) : len(R1)+len(R2)] = [’a’, ’b’, ’c’] résulte R3 = [0, 1, 2, 3, ’a’, ’b’, ’c’] Trier une liste : R4.sort() change R4 en [0, 0, 1, 1, 1, 2, 2, 2, 3, 3, 3, ’a’] Inverser une liste : R4.reverse() change R4 en [’a’, 3, 3, 3, 2, 2, 2, 1, 1, 1, 0, 0] Insertion d’éléments L1.insert(2, ’trois’) : insérer l’élément ’trois’ à l’index 2 de la liste L1. L1 devient donc [1, 2, ’trois’, 3, 4, 5, 6] Ajouter à la fin d’une liste L1.append(7) change L1 en [1, 2, ’trois’, 3, 4, 5, 6, 7] L1.insert(8, ’huit’) change L1 en [1, 2, ’trois’, 3, 4, 5, 6, 7, ’huit’] Suppression des éléments del L1[2] : supprimer l’élément à l’index 2 de L1, ainsi L1 devient : [1, 2, 3, 4, 5, 6, 7, ’huit’] Ensuite, par del L1[-3 :-1], L1 devient [1, 2, 3, 4, 5, ’huit’] 2