Un conteneur permet permet de stocker un grand nombre de données, nous avons déjà rencontré un conteneur : les chaînes de caractères (string) qui stockent des caractères (mais que des caractères). Python offre de base quatre conteneurs :
Les chaînes de caractères.
Les tuples.
Les listes.
Les dictionnaires.
Le fonctionnement des chaînes de caractères, des tuples et des listes sont assez similaires dans le sens où une donnée est indéxée. Les dictionnaires sont eux un peu à part.
Les chaînes de caractères.
Dans une chaine de caractère tous les caractères ont un indice, le premier à l'indice 0 et ainsi de suite, si on sort de la chaine il y a une erreur.
Caractères
B
o
n
j
o
u
r
à
t
o
u
s
.
Indice
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Considérons l'exemple suivant
La fonction len donne la longueur de la chaine, on verra qu'elle donnera aussi les longueurs des tuples, listes et dictionnaires.
Le premier élèment de la chaine a pour indice 0 et pas 1 !!
Si vous donnez un indice trop grand vous produisez une erreur.
Un indice négatif fait aller dans l'autre sens, -1 étant équivalent à len(mot) - 1.
Pour parcourir les élèments d'une chaine de caractère, on dispose de deux moyens :
En parcourant les indices.
Par compréhension.
Même si la deuxième facon est plus agréable à l'usage, je vous conseille d'utiliser la première facon au début. De plus dans la premiére facon on conserve la notion de position (on sait que le resultat se trouve à la deuxiéme place par exemple).
Une chaine de caractère est immuable, c'est à dire qu'on ne peut pas la modifier. On peut cependant en créer à partir d'une précédente à l'aide de la contanénation par exemple.
Le script suivant revient à faire mot.upper(), cette facon de lier fonction et variable est propre à la programmation objet qui sera au programme l'an prochain.
Le slicing.
Le slicing est est une technique hors programme mais très intéressante en python, elle permet de découper des chaînes (mais aussi des listes et des tuples).