Nous avons vu qu'il est important de réfléchir
à la bonne organisation des séquences d'instructions en utilisant
correctement les conditionnelles, les itérations et les
fonctions. Cela répond à la question : quel traitement
effectuer ?
Mais il est aussi primordial de réfléchir à la
façon de stocker les données qui sont manipulées par le
programme. Dans ce chapitre, nous allons voir une structure
de données très largement utilisée : les listes.
Les listes permettent de stocker des valeurs, éventuellement de types différents, dans une même structure de données. En Python, les listes sont un cas particulier des séquences, comme les chaines de caractères. Les listes sont des séquences mutables, c'est à dire que certaines fonctions peuvent les modifier (comme la fonction insert ou la fonction sort). Au contraire, les chaines de caractères sont immutables et ne peuvent donc pas être modifiées. Les fonctions sur les chaines de caractères, comme la fonction capitalize() renvoie une nouvelle chaine de caractères mais ne modifie pas la chaine initiale. Les listes peuvent être utilisées dans une instruction for. Dans ce cas, l'itérateur associé renvoie successivement tous les éléments de la liste. Les listes sont utilisées dans tous les langages (fournies de façon standard ou écrites par l'utilisateur comme les listes chaînées en C). En Python les listes peuvent servir à implémenter les tableaux (ou array en anglais). Les tableaux sont une structure de donnée élémentaire qui permet de stocker dans une même structure des éléments de même type. La particularité des tableaux est qu'ils sont implémentés en mémoire par une zone de cases consécutives et que l'accès à chaque élément est en temps constant (i.e. on accède directement à la case sans devoir parcourir tout le tableau).