Le Coin Wiki
d'Olivier Dalle
$WikiTagline
 

Squences, indiage et extraction

Les chanes de caractres sont stockes sous forme de tableaux de caractres. Intressons-nous de plus prs aux oprations sur les tableaux.

Souvenez-vous que l’indice du premier lment est toujours 0. Pour le vrifier essayez ceci:

>>> c2 = ‘abcdefg’ # un tableau de caracteres
>>> c2[0]
>>> c2[1]
>>> c2[−1] # on peut aussi compter par la fin …
>>> c2[−3]

Malheureusement, les chaines ne sont pas modifiables. En revanche on peut en utiliser des parties pour en construire d’autres. Essayez par exemple ce qui suit:

>>> s = ‘spam & eggs’ # A la place, on voudrait : ‘Spam & Eggs’
>>> s[0] = ‘S’

Comme la mthode consistant remplacer directement une partie de la chaine ne fonctionne pas. Essayons autrement, en fabriquant une nouvelle chaine avec des morceaux de l’ancienne. Entrainons-nous un peu d’abord (expliquez les resultats obtenus):

>>> s2 = “abcdefghijk”
>>> s2[1:3]
>>> s2[1:]
>>> s2[:1]
>>> s2[:]
>>> s2[::2]
>>> s2[3:6]

Vous avez compris? Tres bien alors trouvez la solution pour ecrire 'Spam & Eggs' a partir de 'spam & eggs'.

En fait, les chaines de caractres sont l’une des 3 formes de sequence proposes par Python:

  1. Les chaines: tableaux de caractres, non modifiables
  2. Les listes: tableaux d’objets quelconques, modifiables
  3. Les tuples: tableaux d’objets quelconques, non modifiables (mais plus rapides que les listes)

Essayons donc les deux dernires formes:

>>> liste_vide = []
>>> len(liste_vide) # pour verifier
>>> couleurs = [‘bleu’, ‘rouge’, ‘vert’]
>>> couleurs[1] # indicage
>>> couleurs[0:1] # decoupage
>>> couleurs[1] = ‘jaune’ # une liste est modifiable
>>> couleurs[2] = 1.414 # et peut contenir des types differents…
>>> c = [1, 3, couleurs] # … comme des listes par exemple!
>>> a = [0,1,2]
>>> b = [3,4,5]
>>> c = [a,b]
>>> c[0][2]
>>> c[1][0]
>>> c[1][3] # Quel est le probleme ici ?

Passons aux tuples maintenant:

>>> monTuple = (‘bleu’, ‘blanc’, ‘rouge’)
>>> monTuple[0]
>>> monTuple[0] = ‘vert’ # expliquez

Retour en haut de la feuille d’exercice