Python Tips 1 - Inverser des chaines de caractères

in #fr4 years ago (edited)

Python Tips - Inverser des chaines de caractères

source : devarea.com

Inverser des chaines de caractères peut être un peu fastidieux si on ne s'est pas penché un jour sérieusement. Je suis certain qu'un jour, vous vous êtes posé cette question alors que vous étiez en plein milieu de l'écriture d'une fonction bien plus compliquée.

Nous allons prendre la chaine Python pour exemple.

C'est parti!

"Bon comment on fait du coup ? "

Eh bien il existe plein de méthodes...mais pas de panique Nous alons voir ça ensemble.

Méthode 1

En définissant une fonction pour le faire. Simple. Basique

chaine = 'Python'
def reverse(chaine):
    index = len(chaine) # on évalue la longueur de la chaine
    chaine_inversee = ''
    while index > 0: # tant qu'on a pas parcouru toute le chaine en sens inverse
        chaine_inversee += str[ index - 1 ] # nouvelle chaine construite caractère par caractère en partant de la fin de la variable chaine
        index = index - 1 # nouvelle position à copier dans chaine_inversee 
    return chaine_inversee

Méthode 2

En utilisant la méthode join du type str et le fonction reversed(reversible)

chaine = 'Python'
chaine_inversee = ''.join(reversed(chaine)) # join va concaténer les caractères revoyés par la fonction reversed 

Méthode 3

Enfin voici la méthode la plus simple à implémenter. Elle nécéssite cependant de connaitre relativement bien la syntaxe de python pour bien la comprendre.

chaine = 'Python'
chaine_inversee = chaine[::-1] # on utilise un "slice statement" qui va parcourir la chaine en sens inverse.


Vous pourrez retrouver une bonne partie des articles de ce compte ici

Pour accéder directement la section que vous regardez actuellement cliquer ici


Vous êtes arrivé à la fin, bravo! C'est quand même pas tout les jours qu'on se penche sur ce genre de point un petit peu technique.
Si vous avez des question sur le slicing en Python, laissez moi un commentaire, je serais très heureux de vous répondre.

Sort:  

Thanks to @theophile.roos for burning 800 PLANET! You have been rewarded with a 80% vote. Your action makes this project grow and helps to restore a Clean Planet! Join us on our Discord Channel and on our website

Salutations. Merci d'avoir partagé. Chaque jour, j'aime apprendre le python.

J'ai vérifié les exercices et j'ai obtenu le M2 et le M3.

Le M1 m'a jeté l'erreur suivante.

TypeError : reverse() prend 0 argument de position mais 1 a été donné

Je vais continuer à essayer de diriger le spectacle aujourd'hui. Je vous ferai savoir


J'ai utilisé le traducteur sur internet, je parle espagnol

Maintenant, si vous avez lancé le programme, cette ligne était manquante.

chaine_inversee= str()

Merci de partager et de continuer à apprendre

well thank you! sometimes thinks like that happen quickly with me haha..

For the reverse function, the argument was missing. it goes like this reverse(chaine)