Vous êtes sur la page 1sur 6

Les chaînes en python

Comme beaucoup d'autres langages de programmation populaires, les chaînes en Python


sont des tableaux d'octets représentant des caractères Unicode.
Cependant, Python n'a pas de type de données caractère, un seul caractère est
simplement une chaîne d'une longueur de 1.
Les crochets peuvent être utilisés pour accéder aux éléments de la chaîne.
Exemple
Obtenez le caractère à la position 1 (rappelez-vous que le premier caractère a la position
0):
a = "Hello, World!"
print(a[1])

Boucle sur une chaîne


Puisque les chaînes sont des tableaux, nous pouvons parcourir les caractères d'une
chaîne, avec une for boucle.

Exemple
Parcourez les lettres du mot «banane»:
for x in "banana":
print(x)

Longueur de chaine
Pour obtenir la longueur d'une chaîne, utilisez la len()fonction.
Exemple
La len()fonction renvoie la longueur d'une chaîne:
a = "Hello, World!"
print(len(a))

Vérifier la chaîne
Pour vérifier si une certaine phrase ou caractère est présent dans une chaîne, nous
pouvons utiliser le mot-clé in.

Exemple
Vérifiez si " free " est présent dans le texte suivant:
txt = "The best things in life are free!"
print("free" in txt)
Exemple
Imprimer uniquement si " free " est présent:
txt = "The best things in life are free!"
if "free" in txt:
print("Yes, 'free' is present.")

Vérifiez si NON
Pour vérifier si une certaine phrase ou caractère n'est PAS présent dans une chaîne, nous
pouvons utiliser le mot-clé not in.
Exemple
Vérifiez si " expensive " n'est PAS présent dans le texte suivant:
txt = "The best things in life are free!"
print("expensive" not in txt)
Utilisez-le dans une if déclaration:
Exemple
afficher uniquement si "expensive" n'est PAS présent:
txt = "The best things in life are free!"
if "expensive" not in txt:
print("Yes, 'expensive' is NOT present.")

Python - Chaînes de découpage


Tranchage
Vous pouvez renvoyer une plage de caractères à l'aide de la syntaxe de tranche.
Spécifiez l'index de début et l'index de fin, séparés par deux-points, pour renvoyer une
partie de la chaîne.
Exemple
Récupérez les caractères de la position 2 à la position 5 (non inclus):
b = "Hello, World!"
print(b[2:5])

Tranche depuis le début


En omettant l'index de début, la plage commencera au premier caractère:
Exemple
Récupérez les caractères du début à la position 5 (non inclus):
b = "Hello, World!"
print(b[:5])

Tranche jusqu'à la fin


En omettant l' index de fin , la plage ira jusqu'à la fin:
Exemple
Récupérez les personnages de la position 2 et jusqu'à la fin:
b = "Hello, World!"
print(b[2:])

Indexation négative
Utilisez des index négatifs pour démarrer la tranche à partir de la fin de la chaîne:
Exemple
Obtenez les personnages:
De: "o" dans "World!" (position -5)
À, mais non inclus: "d" dans "World!" (position -2):
b = "Hello, World!"
print(b[-5:-2])

Python - Modifier les chaînes


Majuscules
Exemple
La upper()méthode renvoie la chaîne en majuscules:
a = "Hello, World!"
print(a.upper())
Minuscules
Exemple
La lower()méthode renvoie la chaîne en minuscules:
a = "Hello, World!"
print(a.lower())

Supprimer les espaces


L'espace blanc est l'espace avant et / ou après le texte, et très souvent vous souhaitez
supprimer cet espace.
Exemple
La strip()méthode supprime tous les espaces du début ou de la fin:
a = " Hello, World! "
print(a.strip()) # returns "Hello, World!"

Remplacer la chaîne
Exemple
La replace()méthode remplace une chaîne par une autre chaîne:
a = "Hello, World!"
print(a.replace("H", "J"))

Chaîne divisée
La split()méthode renvoie une liste dans laquelle le texte entre le séparateur spécifié
devient les éléments de la liste.
Exemple
La split()méthode divise la chaîne en sous-chaînes si elle trouve des instances du
séparateur:
a = "Hello, World!"
print(a.split(",")) # returns ['Hello', ' World!']

il est également intéressant d'indiquer à .split() le nombre de fois qu'on


souhaite découper la chaîne de caractères avec l'argument maxsplit :

animaux = "girafe tigre singe souris"


print(animaux.split(maxsplit=1))
#['girafe', 'tigre singe souris']
print(animaux.split(maxsplit=2))
#['girafe', 'tigre', 'singe souris']

Python - Concaténation de chaînes


Concaténation de chaînes
Pour concaténer ou combiner deux chaînes, vous pouvez utiliser l'opérateur +.
Exemple
Fusionner la variable a avec la variable b dans la variable c:
a = "Hello"
b = "World"
c = a + b
print(c)
Format de chaîne
nous pouvons combiner des chaînes et des nombres en utilisant la format()méthode!
La format()méthode prend les arguments passés, les met en forme et les place dans la
chaîne où se trouvent les espaces réservés {}:
Exemple
Utilisez la format()méthode pour insérer des nombres dans des chaînes:
age = 36
txt = "My name is John, and I am {}"
print(txt.format(age))

find() :
La méthode .find(), quant à elle, recherche une chaîne de caractères passée en
argument :

Exemple
animal = "girafe"
print(animal.find("i"))
print(animal.find("afe"))
print(animal.find("z"))
print(animal.find("tig"))

Si l'élément recherché est trouvé, alors l'indice du début de l'élément dans la


chaîne de caractères est renvoyé. Si l'élément n'est pas trouvé, alors la
valeur -1 est renvoyée.

Si l'élément recherché est trouvé plusieurs fois, seul l'indice de la première


occurrence est renvoyé

Count() :
La méthode .count() compte le nombre d’occurrences d'une chaîne de caractères passée en argument :

Exemple
animaux = "girafe tigre"
print(animaux.count("i"))

print(animaux.count("z"))

print(animaux.count("tigre"))

startswith :
La méthode .startswith() vérifie si une chaîne de caractères commence par une
autre chaîne de caractères :

Exemple
chaine = "Bonjour monsieur le capitaine !"
print(chaine.startswith("Bonjour"))
#True
print(chaine.startswith("Au revoir"))
#False

Méthodes de chaîne
Python a un ensemble de méthodes intégrées que vous pouvez utiliser sur des chaînes.
Les fonctions de chaines de caractères en Python

Extraction de sous-chaînes :
 x = 'abcdef' : définition de la chaîne.
 print(x[2]) : 3ème caractère (indice commence à 0), ici c.
 print(x[0:3]) : caractères d'indices 0 à 3 - 1, ici abc.
 print(x[1:]) : caractères à partir de l'indice 1, ici bcdef.
 print(x[:3]) : caractères jusqu'à l'indice 3 - 1, ici abc.
 print(x[-2:]) : les 2 derniers caractères, ici ef.
 print(x[0:-2]) : toute la chaîne sauf les 2 derniers caractères.
 si l'index de fin est > à la longueur, c'est la longueur qui est utilisée.
 print(len(x)) : longueur, ici 6.
 x[::2] : chaîne avec un caractère sur deux (en commençant par le premier), ici
ace.
 x[1::2] : chaîne avec un caractère sur deux en commençant par le deuxième, ici
bdf.
 x[::-1] : la chaîne renversée, ici fedcba.
Fonctions sur les chaînes :
 'N' in s : renvoie True si N est un caractère de s.
 s.count('ab') : retourne le nombre de chaîne "ab" (non overlappant).
 isalnum, isalpha, isdigit, islower, isupper, isspace : tests sur le type des
caractères de la chaîne (False si chaîne vide).
 s.startswith('ab') : renvoie True si commence par "ab" (idem avec endswith).
 s.find('ab') : retourne le plus petit index correspondant à la chaîne "ab" (-1 si
pas trouvé).
 s.find('ab', 3) : retourne le plus petit index correspondant à la chaîne "ab" dans
s[3:] (-1 si pas trouvé).
 s.find('ab', 3, 15) : retourne le plus petit index correspondant à la chaîne "ab"
dans s[3:15] (-1 si pas trouvé).
 s.rfind('ab') : retourne le plus grand index correspondant à la chaîne "ab" (-1 si
pas trouvé), i.e commence par la recherche par la fin
 s.index('ab') comme find, mais si sous-chaîne non trouvé, lève une ValueError.
 s.lower() : renvoie la chaîne convertie en minuscules (idem avec s.upper() pour
les majuscules), sans affecter s
 s.capitalize() : met en majuscule la première lettre et en minuscules toutes les
autres quelque soit la casse de départ.
 s.title() : renvoie une chaîne où toutes les premières lettres de chaque mot
sont en majuscule et le reste en minuscules.
 s.replace('old', 'new') : remplace toutes les occurrences de "old" par "new",
sans affecter s.
 s.replace('old', 'new', 1) : remplace seulement la première occurrence.
 s.translate(str.maketrans('ACGT', 'TGCA')) : renvoie la chaîne avec les A
remplacés par des T, les C par des G, etc (maketrans construit une table de
traduction des 255 caractères)
 s.translate(None, '\n') : enlève les retours chariots, sans affecter s.
 s.translate(None, 'aeiouy') : enlève les voyelles.
 str.split(s) : retourne une liste de chaînes en coupant sur les caractères blancs
(espace, tabulation, retours chariot). Si s est vide, la liste est vide.
 on peut aussi faire s.split(). Par exemple, ' a b c '.split() donne ['a', 'b',
'c']. Donc attention, split se comporte différemment sans argument ou avec une
chaîne ayant un espace :
o ' a b'.split(' ') : renvoie ['', 'a', '', 'b']
o ' a b'.split() : renvoie ['a', 'b'] : les chaines vides sont éliminés !
 s.split('\t') : splitte sur les tabulations, et se comporte bien par défaut si à la
fin de la chaîne, il y a des tabulations consécutives (contrairement à perl).
Attention, c'est une chaîne qui est utilisée et non un pattern pour indiquer où
couper.
 str.split(s, 'a') : splitte sur les "a" (chaîne). Si s est vide, la liste comporte un
élément, la chaîne vide.
 sep.join(stringList) : concatène les chaînes stringList avec la chaîne sep
comme séparateur.
 s.strip() : retourne un chaîne avec les espaces à gauche et à droite retirés
(trim), y compris les retours chariot (sinon, rstrip ou lstrip pour un seul côté).
 s.strip('a') : retourne une chaîne avec les 'a' des deux côtés enlevés (pareil
avec lstrip et rstrip)
 s.center(15) : retourne une chaîne de longueur 15 avec des espaces pour
centrer la chaîne (si s est de longueur > 15, retourn s). s.center(15, '-') : utilise
'-' au lieu d'un espace.

Vous aimerez peut-être aussi