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 :

recherche d'un mot dans une liste [Python 3.X]


Sujet :

Python

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mai 2013
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2013
    Messages : 27
    Par défaut recherche d'un mot dans une liste
    bonjour,

    J'ai certainement une erreur de syntaxe que je n'arrive pas à trouver!
    Je pars d'une liste de mots.
    Je prends un mot dans cette liste; j'enlève une des lettres de ce mot et je cherche dans ma liste si le nouveau mot existe.

    Voici les lignes de code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    fichier = open("dico.txt", "r")
    l=list(fichier)
    mot0=l[5961]
    print('mot0', mot0, mot0 in l)
    mot1=l[5868]
    print('mot1', mot1, mot1 in l)
    mot2=mot1[0:1] + mot1[2:5]
    print('mot2', mot2, mot2 in l)
    voici ce que j'obtiens:
    mot0 gnou
    True
    mot1 genou
    True
    mot2 gnou False

    La construction du mot "gnou" (mot2) à partir de "genou" (mot1) est correcte, par contre le teste est False!!

    Donc le mot "gnou" (mot0) pris dans la liste ne correspond pas au mot "gnou" (mot2) construit à partir du mot "genou"!!

    Ne s'agit-il pas dans les 2 cas de chaîne de caractères?

    Merci d'avance.

  2. #2
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 696
    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 696
    Par défaut
    Salut,

    Citation Envoyé par dedeff Voir le message
    Ne s'agit-il pas dans les 2 cas de chaîne de caractères?
    Ce sont des chaînes de caractères mais différentes.... car mot0 est une ligne du fichier qui se termine par '\n' alors que mot2 non. Ce qui se voit dans votre affichage puisque vous avez des retour à la ligne dans les 2 premiers cas et non dans le 3ème.

    Après vous avez aussi l'incompréhension que mot in Liste teste si mot est dans la liste et non si mot est contenu dans un des mots de la liste.


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

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mai 2013
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2013
    Messages : 27
    Par défaut
    Bonjour,

    Merci de cette réponse.

    J'ai donc complété ma ligne de concaténation :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mot2=mot1[0:1] + mot1[2:5] + str('\n')
    ... et ça fonctionne.

    J'avais remarqué l'absence de saut à la ligne et je me doutais bien que cela avait la même origine que le "false" obtenu.

    Encore merci de m'avoir sorti ce cette ornière.

  4. #4
    Membre éprouvé Avatar de olivier1969
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Novembre 2013
    Messages
    153
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Novembre 2013
    Messages : 153
    Par défaut
    Il serai quand même plus propre d'enlever tous les retours à la ligne de ta liste plutôt que de le rajouter pour chaque mot à tester.

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

Discussions similaires

  1. [AC-2013] requete de recherche d'un mot dans une liste
    Par obel38 dans le forum Access
    Réponses: 1
    Dernier message: 26/09/2015, 16h36
  2. recherche d'un mot dans une liste
    Par kranagard dans le forum Requêtes
    Réponses: 1
    Dernier message: 09/05/2013, 21h49
  3. Recherche d'un élément dans une liste triée (vitesse)
    Par Rodrigue dans le forum Algorithmes et structures de données
    Réponses: 9
    Dernier message: 18/05/2006, 09h23
  4. Recherche d'un mot dans une phrase se touvant dans un champ
    Par Grandbastien dans le forum Access
    Réponses: 3
    Dernier message: 02/04/2006, 09h58
  5. Recherche d'un mot dans une page
    Par Emcd dans le forum Langage
    Réponses: 4
    Dernier message: 12/01/2006, 18h25

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