Création d'une chaîne de caractèresLes chaînes de caractères en python sont des séquences de symboles (lettres, ponctuations, chiffres...) entre guillemets ou apostrophes. Par exemple :
texte = "Voici une chaîne de caractères !"On peut également créer des chaines vides.
texte = "" est une chaîne de caractère vide.
Les éléments d'une chaîneLes caractères d'une chaîne sont indexés comme les éléments d'une liste. texte[n] correspond au n-ième caractère de la chaîne texte.
Par exemple, si texte =
"Voici une chaîne de caractères !" alors
texte[3] donne le caractère
"c" (l'indexation commence à 0).
Attention ! Les chaînes de caractères sont non-mutables, i.e. on
NE PEUT PAS modifier ces éléments en écrivant texte[3] = "a".
Le nombre d'éléments d'une chaîne de caractères peut être obtenu avec la fonction len comme ci-dessous :
len(texte) donne 32.
Astuce : texte[-1] renvoie fait référence au dernier caractères de la chaîne
Exercices :
C1 Recherche d'un caractère,
C3 Compteur
Récupération de plusieurs caractèrestexte[n:m]
permet de récupérer la chaîne des caractères allant de l'indice n à m-1.
Ainsi, pour le texte = texte =
"La beauté est
dans les yeux de celui qui regarde. Oscar Wilde" :
-
texte[3:9] donne
"beauté". - texte[9:] donne toute la chaîne à partir de l'indice 9, i.e
" est
dans les yeux de celui qui regarde. Oscar Wilde". - texte[:9] donne toute la chaîne jusqu'à l'indice 9 exclu, i.e
"La beauté".ConcaténationOn peut concaténer deux chaînes de caractères avec l'opérateur +, par exemple :
texte = texte + "!!!" donne
"Voici une chaîne de caractères !!!!"Exercices :
C2 Remplacer un caractère,
C13 Inversion,
C5 Mélange interne,
C12 Simple manipulation,
C13 Inversion
Transformer une variable en caractèresLa fonction str peut permettre de convertir une variable en une chaîne de caractères. Par exemple :
str(5) donne le caractère "5".
Chaîne de caractères et listeOn
peut découper une chaîne de caractères telle que texte = "La beauté est
dans les yeux de celui qui regarde. Oscar Wilde"et placer tous les
éléments dans une liste. La méthode utilisée est split. Elle prend en
paramètre la chaîne de caractères qui sert de séparateur entre les
éléments. Par exemple :
texte.split(" ") donne la liste ["La", "beauté", "est", "dans", "les", "yeux", "de", "celui", "qui", "regarde.", "Oscar", "Wilde"]
Exercices :
L10 Split,
C6 Mélange interne d'une phrase
On peut également créer une liste de caractères à partir d'une chaîne de caractères :
list(c) avec
c = "C'est en essayant encore et encore que le singe apprend à bondir"
donne ["C","'","e","s","t"," ","e","n","
","e","s","s","a","y","a","n","t"," ","e","n","c","o","r","e","
","e","t"," ","e","n","c","o","r","e"," ","q","u","e"," ","l","e","
","s","i","n","g","e"," ","a","p","p","r","e","n","d"," ","à","
","b","o","n","d","i","r"]
Exercice :
C4 Mélanger du texte
Caractères et nombre ASCIIChaque caractère à un équivalent en code numérique i.e. en nombre, c'est le code ASCII (American Standard Code for Information Interchange). Les caractères alphabétiques de a à z en minuscule sont codés sur des nombres allant de 97 (pour
"a") à 122 (pour
"z"). Le
"b" correspondant alors à 98, le
"c" à 99 et ainsi de suite...
La fonction ord permet d'obtenir le nombre correspondant à un caractère. Par exemple :
ord("a") renvoie 97.
La fonction chr permet de faire l'inverse. Par exemple :
chr(100) renvoie
"a".
Pour plus d'information sur le code ASCII
cliquez ici.
Exercices :
C10 Lettre <-> Nombre,
C11 Rot13