- Formations
- conversion_path Parcours & Formations
- science Projets
- data_object Exercices de code
- psychology Exercices IA
- quiz Quiz
- Articles
- rss_feed Blog
- sort_by_alpha Glossaire
- menu_book Guides
- help_center FAQ
- media_link Ressources
- Communauté
- groups La communauté
- forum Questions
- live_tv Mentorats
- science Projets mensuels
- Formations
- conversion_path Parcours & Formations
- science Projets
- data_object Exercices de code
- psychology Exercices IA
- quiz Quiz
- Articles
- rss_feed Blog
- sort_by_alpha Glossaire
- menu_book Guides
- help_center FAQ
- media_link Ressources
- Communauté
- groups La communauté
- forum Questions
- live_tv Mentorats
- science Projets mensuels
Inscris-toi
(c'est gratuit !)
Un compte est nécessaire pour participer aux discussions.
Créer un compte personlive_helpToutes les questions
Imane
23 janvier 2023 - 23 janvier 2023 à 16:36
checkConversation résolue
2 réponses
fonction rfind
Bonjour, Pourquoi la fonction rfind("jour") retourne 11 alors que si on commence par la droite on a le mot jour avant le bonjour donc ca doit retourner 4. Comment avez-vous …
Aurelien Morganti
29 décembre 2022 - 29 décembre 2022 à 16:13
checkConversation résolue
3 réponses
rfind
00:00:00 :Il arrive qu'à l'intérieur d'une chaîne de caractères, on ait besoin de chercher un mot ou une suite de caractères.Pour ça, on va pouvoir utiliser deux méthodes qui sont presque similaires,et je vais vous montrer la différence entre les deux, qui est quand même importante à connaître.
00:00:14 :Donc ces deux méthodes, c'est la méthode find et la méthode index.Donc si je prends la phrase bonjour le jour, et que je fais find, et que je cherche le mot jour,là vous allez voir qu'on a trois.
00:00:26 :Là encore, comme je vous le disais, c'est comme avec la méthode count,on ne va pas chercher le mot jour, mais bien la chaîne de caractères jour.
00:00:33 :Donc là ça nous indique trois, puisque la première fois qu'il trouve cette suite de lettres,donc J-O-U-R, c'est dans le mot bonjour.Donc il nous indique trois, parce qu'on commence à compter à zéro en Python.
00:00:44 :Donc même si ce caractère, le J ici, commence au quatrième caractère,en fait on commence à compter à zéro, donc 0, 1, 2 et 3.
00:00:52 :Donc 3 qui est le J de jour ici.Donc ça c'est avec la méthode find, et je peux faire la même chose avec la méthode index.
00:00:59 :Donc comme ceci, index, et vous voyez que ça me retourne exactement la même chose.Donc pourquoi utiliser l'une plutôt que l'autre ?La seule différence, c'est que find va vous retourner moins 1 si la chaîne de caractères n'est pas trouvée.
00:01:10 :Donc je vais vous montrer ce que ça donne, si je cherche à la place de jour, par exemple le soir,qui n'est pas présent dans cette chaîne de caractères, find va me retourner moins 1.
00:01:19 :Si je refais la même opération, mais cette fois-ci avec la méthode index,là je vais avoir une erreur qui va être levée, donc valueError, et ça me dit substring not found.
00:01:27 :Donc là c'est à vous de voir ce que vous préférez.Est-ce que vous préférez que votre script lève une erreur dans le cas où la chaîne de caractères n'est pas trouvée,ou est-ce que vous préférez récupérer moins 1 ?
00:01:36 :Donc ça c'est à vous de voir et à vous d'utiliser la méthode en fonction, donc find ou index.On a également une autre méthode que find, qui nous permet de chercher mais en partant de la fin.
00:01:46 :Donc là c'est exactement la même chose qu'avec la méthode strip.Donc on va avoir la méthode find et la méthode erfind.Donc er qui signifie right, qui en anglais signifie droite,et donc ça va nous permettre de chercher en partant de la droite.
00:02:00 :Donc si je fais bonjour le jour, et que j'utilise erfind cette fois-ci avec jour,on va avoir un résultat différent que celui qu'on avait précédemment.
00:02:08 :Précédemment on avait 3, puisqu'on commençait à 0,et donc la première fois qu'on trouvait cette suite de lettres c'était au troisième caractère ici.Et là on est à 11, parce qu'en fait on est parti de la fin.
00:02:19 :Donc on part de la fin, de la droite de la chaîne de caractère,et la première fois qu'on trouve l'occurrence du mot jour ici,et bien c'est au onzième caractère.
00:02:27 :Donc voilà pour erfind.Il n'existe pas de méthode par contre lfind,donc contrairement à la méthode strip qui contient strip, erstrip et lstrip,avec find on a uniquement find et erfind.
00:02:39 :Si vous utilisez lfind, ça ne marchera pas,ça vous dira que les objets de type string n'ont pas d'attribut lfind.Donc ça veut dire que cette méthode n'existe pas sur les objets de type chaîne de caractère.
00:02:49 :Donc pourquoi ça n'existe pas ?Et bien tout simplement, puisqu'en fait lfind en fait c'est l'inverse,c'est find tout simplement.Si vous voulez chercher en partant du début de la chaîne de caractère,et bien il vous suffit d'utiliser find,puisque find par défaut va commencer depuis le début de votre chaîne de caractère.
00:03:04 :Donc find si vous voulez chercher depuis le début,erfind si vous voulez chercher depuis la fin,et index c'est vraiment si vous souhaitez que votre programme lève une erreurplutôt qu'il ne vous retourne moins un,si jamais la chaîne de caractère que vous cherchez n'est pas trouvée à l'intérieur de votre texte.
Ce n'est pas fini...
✋
Tu as complété % du parcours 🔥
Termine l'intégralité de la formation pour pouvoir débloquer ton attestation de réussite.