Édition du: 31/07/2025 |
Faites un double-clic pour un retour en haut de page
PYTHON: Trucs et astuces Chaines de caractères Découpages
(slicing). Comment sélectionner une partie d'un texte, l'inverser, chercher
des palindromes. Même chose pour les nombres (transformés en chaines avec str). |
||
|
Sommaire De Cette Page >>>
Caractères >>>
Inversion >>>
Palindromes >>>
Découpe (slicing) |
Débutants Glossaire |
Rappel: l'antislash \ permet de
prolonger une instruction en passant à la ligne suivante.
Conversion d'un nombre en caractère et
inversement |
n = 12321 nn = str(n) m = int(nn) print(n,nn, m) |
12321
12321 12321 Nombre / Caractère / Nombre |
|
Découpage d'un mot |
M = "mathématiques" print(M[0:5]) print(M[5:]) print(M[2:-2]) |
mathé matiques thématiqu |
|
Voir Zipper une chaine de
caractères / Accès aux éléments d'une liste
Inversion d'un texte |
mot = "Nathan" mot_inverse = mot[::-1] print(mot_inverse) |
nahtaN |
|
Inversion d'une liste |
L = [1, 2, 3, 4, 5] LI = L[::-1] print(LI) |
[5, 4, 3, 2, 1] |
|
Inversion d'une partie |
M = "123456789" T = "mathématiques" print(M[2:8][::-1]) print(T[2:8][::-1]) |
876543 taméht |
|
Miroir |
L = [1, 2, 3, 4, 5] miroir = L + L[::-1] print(miroir) |
[1, 2, 3, 4, 5, 5, 4, 3, 2, 1] |
|
PALINDROMES |
n = 12321 if str(n) ==str(n)[::-1]:
print(n, "palindrome") |
12321 palindrome |
||
Pour une recherche systématique de palindromes |
def Pal(): P = []
for n in range(100, 200):
if str(n) == str(n)[::-1]: P.append(n)
return P L = Pal() print(L) |
[101, 111, 121, 131, 141, 151, 161,
171, 181, 191] |
||
Recherche de palindromes sans les repdigits |
def Pal(n: int) -> bool:
s = str(n)
return s == s[::-1] def Rep(n: int) -> bool:
s = str(n)
return all(ch == s[0] for ch in s) P = [] for n in range(1000, 2000):
if Pal(n) and not Rep(n):
P.append(n) print("Palindromes hors
repdigits :") print(P) print("Quantité :",len(P)) |
|||
|
|
Palindromes hors repdigits : [1001, 1221, 1331, 1441, 1551, 1661,
1771, 1881, 1991] Quantité : 9 |
||
Voir Palindromes en tant
qu'initiation au langage Python
Le
slicing (ou découpage) est une méthode rapide et efficace pour extraire,
manipuler ou transformer des séquences en Python. |
|
GÉNÉRAL sequence[start: stop: step] • start : position de départ. • stop : position de fin. • step : pas, ou direction du parcours. |
EXEMPLE Dans [: : -1] • start et stop
sont vides • step = -1 |
Découpe avec slice |
F = ["pomme", "banane", "kiwi", "orange", "melon"] print(F[slice(1,4)]) N = list(range(10)) # [0 à 9] s = slice(0, 10, 2) # de 0 à 9 avec un pas de 2 print(N[s]) |
['banane', 'kiwi', 'orange'] [0, 2, 4, 6, 8] |
|
Sélection dans un texte |
T = "C'est une très belle
journée" s = slice(5, 14) print(T[s]) |
une très |
|
Extraire la fin du mot |
T = "mathématiques" s = slice(-6, None) # les 6 dernières lettres print(T[s]) |
tiques |
|
En faire une fonction |
def Ext(T, debut, fin, pas=None):
s = slice(debut, fin, pas)
return T[s] print(Ext("abcNATHANxyz", 3, 9)) print(Ext(["ab", "bc", "cd", "ef"], 1, 3)) |
NATHAN ['bc', 'cd'] |
|
Haut de page (ou
double-clic)
Retour |
|
Suite |
|
Voir |
|
Sites |
|
Cette page |