Le maniement des chaînes de caractères est important dans de nombreuses situations :
- Extraire une information d'un texte.
- Formater une chaîne pour un affichage lisible.
- des algorithmes divers, comme par exemple celui permettant de proposer un mot lorsque l'utilisateur tape les premières lettres, ou des correcteurs ortographiques etc..
Les chaînes sont en réalité des listes de caractères, et peuvent être traitée comme des listes : Les caractères sont repérés par leur indice :
Indice | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
caractère | H | e | l | l | o | , | W | o | r | l | d | ! |
Notez que le caractère à l'index 6 est un espace.
Nous savons tous que 1+2=3.
Avec les chaînes, nous obtenons le résultat suivant à la place:"
Attention : On ne peut additionner que des éléments de même type
TypeError: unsupported operand type(s) for +: 'int' and 'str' Donne plusieurs informations :
|
Conversion de chaine de caractères
Comme vous le savez déjà, nous pouvons convertir une chaine de caractères en entier et inversement.
Pour cela, nous utilisons les fonctions str() et int().
Mais nous pouvons aussi convertir une chaîne en liste :
On a parfois besoin d'afficher successivement plusieur texte, sans passer à la ligne. Cela est possible en utilisant, dans la fonction **print**, l'option end=""
Ajoutons l'option end = ""
ou end = " "
Exercices
Niveau 1
Pour éviter de vous tromper :
Nommez l'itérateur soigneusement l'iterateur :
- i pour un parcours avec les indices : for i in range( len(lst) ) :
- caractère (ou lettre) pour un parcours sur les caracteres : for caractere in txt :
Ces deux façons de procéder se retrouvent pour tout les itérables. Un itérable est un type de variable contenant des éléments. Par exemple, les chaînes de caractères, et les listes, sont des itérables : on peut itérer sur les lettres d'un mots, sur les éléments d'une liste etc....
Nous retrouveront donc les mêmes parcours pour les listes, et pour bien d'autres structures plus tard.
Niveau 2
Niveau 3
Nous allons maintenant chercher non plus un caractère unique, mais une sous chaîne dans la chaine. Tout d'abord, voyons la fonction pythn qui sait déjà faire cela :
Mais nous voulons coder une fonction qui fasse cela. Vous aurez besoin d'étudier cet exemple :
Si vous avez bien compris les 2 exemples ci-dessus, vous pouvez maintenant réussir cet exercice :
La méthode des chaînes replace()
en python permet de remplacer une sous chaine par une autre. Etudiez cet exemple :
Par ailleurs, rappelons le principe de la concaténation et au passage de la réplication :