Relever caractère dans chaines Python

Résolu/Fermé
letroolldu67 Messages postés 32 Date d'inscription vendredi 27 août 2021 Statut Membre Dernière intervention 3 septembre 2022 - 26 sept. 2021 à 14:26
yg_be Messages postés 22720 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 23 avril 2024 - 26 sept. 2021 à 20:16
Bonjour,

Je voudrais en Python extraire les données d'une chaîne de caractère. Prenons exemple avec une variable que je vais appelé "d"
d = "Je vis dans une maison rouge car le soleil est rouge"

Je voudrais à partir de cette variable localiser les mots "rouges" que je stockerai dans une variable que je vais appeler "f"
print(f)
['23:27','47:51']

Je voudrai au moins savoir comment on fait pour passer de "d" à "f" et si ce n'est pas possible de me donner un moyen de localiser à chaque fois qu'il y a les mots "rouge"
A voir également:

4 réponses

yg_be Messages postés 22720 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 23 avril 2024 1 476
26 sept. 2021 à 15:40
bonjour,
peux-tu compléter ton exemple avec le résultat attendu?
0
letroolldu67 Messages postés 32 Date d'inscription vendredi 27 août 2021 Statut Membre Dernière intervention 3 septembre 2022 2
26 sept. 2021 à 16:05
J'ai vu des exemples de code qui faisait
>>>d = "Je vis dans une maison rouge car le soleil est rouge"
>>>c = "rouge"
>>>s = d.find(c)
>>>print(s)
23

Là, il m'indique 23 car c'est l'emplacement de la première lettre du premier rouge se trouvent en 23ème position (en partant de 0)
Mais je souhaiterez avoir la position de début et de fin des mots recherchés.
J'espère avoir été plus précis
0
Phil_1857 Messages postés 1883 Date d'inscription lundi 23 mars 2020 Statut Membre Dernière intervention 28 février 2024 178
26 sept. 2021 à 16:30
Bonjour

la position de fin = position de début + longueur du mot-1
0
yg_be Messages postés 22720 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 23 avril 2024 1 476
26 sept. 2021 à 16:49
et, si tu veux retrouver toutes les occurrences, ne peux-tu pas, simplement, recommencer avec la partie de la phrase après le mot trouvé?
0
letroolldu67 Messages postés 32 Date d'inscription vendredi 27 août 2021 Statut Membre Dernière intervention 3 septembre 2022 2
26 sept. 2021 à 17:04
Bonjour,

Mais oui, c'est logique! Pourquoi n'y ai-je pas penser? Cependant je ne sais pas comment faire pour le réaliser sur les autres mots de la variable...
0
letroolldu67 Messages postés 32 Date d'inscription vendredi 27 août 2021 Statut Membre Dernière intervention 3 septembre 2022 2
26 sept. 2021 à 17:25
Bonjour,

J'ai trouvé une solution finale! La voici:
s = "Je vis dans une maison rouge car le soleil est rouge"
c = "rouge"
lst = []
for pos,char in enumerate(s):
    if(char == c):
        lst.append(pos)
print(lst)

Je met le sujet en résolue!
0
yg_be Messages postés 22720 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 23 avril 2024 1 476
26 sept. 2021 à 20:16
bravo d'avoir, tout seul, progressé aussi rapidement!
0