IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Python Discussion :

Faire chercher à Python la place de caractères qui peuvent être répétés plusieurs fois dans une chaîne


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre chevronné
    Avatar de BlackoOSX
    Homme Profil pro
    Étudiant à l'INSA HdF
    Inscrit en
    Septembre 2014
    Messages
    360
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 24
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Étudiant à l'INSA HdF
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2014
    Messages : 360
    Billets dans le blog
    3
    Par défaut Faire chercher à Python la place de caractères qui peuvent être répétés plusieurs fois dans une chaîne
    Bonjour à tous,
    Depuis quelques jours je cherche en vain une commande interne à Python pour trouver la place de caractères qui peuvent se répéter à plusieurs reprise dans une même chaîne de caractère (d'où le nom de la discussion).
    J'ai essayé de le faire de cette façon:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    command = raw_input("> ")     #Ici on entre "var a = v + b + 1" où a, v et b ne sont que des variables pour l'exemple
    x = command.index("+")     #Ici on cherche la place des deux "+"
    print(x)     #On affiche le résultat
    Et la console me rends ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Python 2.7 etc...
    >>>   > var a = v + b + 1
          > 11
          >
    Je cherche à faire un truc le plus optimiser possible donc je préférerais me servir d'une commande interne à Python plutôt que de faire mon module...
    Donc voilà je voulais savoir s'il existe une commande autre que [xxx.index("xxx")] pour pouvoir trouver ces caractères.
    Sinon j'ai penser vite fait à faire un truc de ce genre:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    command = raw_input("> ")     #Variable qui reçoit la commande de l'utilisateur
     
    listp = []     #Variable qui va recevoir châque position du "+"
     
    for i in range(len(command)):     #Boucle qui parcourt toute la chaîne de caractère
         if command[i] == "+":     #On se sert de l'incrémentation [i] pour parcourir la chaîne de caractère et trouver les "+"
              listp.append(i)     #On ajoute à la liste la première position du "+"
     
    print(listp)     #On affiche la liste
    Je tiens à préciser que je n'ai pas tester ce code, je pense qu'il fonctionne mais je n'en suis pas sûr à 100%. Je vouais savoir avant si une commande précise existait...
    Merci d'avance!

  2. #2
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 743
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 743
    Par défaut
    Salut,

    Vous pouvez utiliser la fonction enumerate:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    for i, ch in enumerate(command):
          if ch == '+':
             listp.append(i)
    ou regardez ce qu'on peut faire avec re.finditer mais c'est peut être un peu compliqué à mettre en œuvre pour un cas aussi simple.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  3. #3
    Membre chevronné
    Avatar de BlackoOSX
    Homme Profil pro
    Étudiant à l'INSA HdF
    Inscrit en
    Septembre 2014
    Messages
    360
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 24
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Étudiant à l'INSA HdF
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2014
    Messages : 360
    Billets dans le blog
    3
    Par défaut
    Merci de votre réponse rapide!
    Tout fonctionne correctement! Merci!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 3
    Dernier message: 17/02/2017, 13h16
  2. [Batch] Chercher une sous-chaîne dans une chaîne de caractères
    Par bobbely dans le forum Scripts/Batch
    Réponses: 1
    Dernier message: 13/04/2012, 08h51
  3. [Débutant] Faire appel à un programme plusieurs fois dans une boucle for
    Par hibouchka dans le forum MATLAB
    Réponses: 9
    Dernier message: 01/03/2011, 17h09
  4. Réponses: 2
    Dernier message: 21/12/2009, 06h35
  5. Réponses: 9
    Dernier message: 24/06/2008, 09h45

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo