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 :

String et tuple


Sujet :

Python

  1. #1
    Membre éclairé Avatar de Bayard
    Inscrit en
    Juin 2002
    Messages
    863
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 863
    Par défaut String et tuple
    Je souhaite, à partir d'une chaîne où des espaces (plusieurs) séparent des mots lue dans un fichier obtenir un dictionnaire (l'idéal), un tuple ou une liste :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    fp = open("toto.txt",rb)
    chaine = fp.realine()  # Chaine avec des séparateurs sous forme d'espace
    # valeur 0x13213   0x5588
    tupledesire = chaine.fonctionAttendue()
    # {"valeur" : 0x13213,0x5588} #dictionnaire (exemple ici), tuple ou liste
     
    fp.close()
    Remarque : je sais que readline ne lit qu'une seule ligne. C'est uniquement un exemple. Je sais également constuire un dictionnaire, tuple ou une liste pas à pas avec append ou quelque chose comme cela. Le but est d'avoir quelque chose d'immédiat.. que je n'ai pas vu dans la doc. Un pointeur dans la doc serait le bienvenu si cette fonction existe.

    J'ai essayé les fonctions set() et tuple() sans succés...

  2. #2
    Membre émérite

    Profil pro
    Inscrit en
    Août 2004
    Messages
    723
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 723
    Par défaut
    Il y a la méthode split qui sépare une chaîne en plusieurs morceaux à partir d'un séparateur (un ou plusieurs caractères d'espacement par défaut)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    liste = chaine.split()
    dico[liste[0]] = liste[1:]
    http://docs.python.org/lib/string-methods.html#string-methods

  3. #3
    Membre éclairé Avatar de Bayard
    Inscrit en
    Juin 2002
    Messages
    863
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 863
    Par défaut
    Cela peut me convenir.

    Et en plus je connaissais split().

    Donc, il faut que je construise "pas à pas" un dictionnaire.

    N'existe-t-il pas une fonction qui fait tout ? Sinon, je construirais mon dictionnaire avec cela...

    Par ailleurs, j'ai l'erreur
    [quote]
    NameError: name 'dico' is not defined

  4. #4
    Membre émérite

    Profil pro
    Inscrit en
    Août 2004
    Messages
    723
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 723
    Par défaut
    Citation Envoyé par Bayard
    N'existe-t-il pas une fonction qui fait tout ?
    Tu peux toujours en faire une, mas non il n'en existe pas dans la librairie "standard"
    L'erreur vient du fait que je n'ai donné qu'un morceau de code, il faut quand même identifier la variable dico comme étant un dictionnaire

  5. #5
    Membre éclairé Avatar de Bayard
    Inscrit en
    Juin 2002
    Messages
    863
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 863
    Par défaut
    Avec Cela va mieux.

    Merci beaucoup

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

Discussions similaires

  1. [C#] Requete Linq sur List<Tuple<String,Guid>>
    Par jubourbon dans le forum Linq
    Réponses: 3
    Dernier message: 29/03/2011, 11h00
  2. éliminer un caractere d'un string
    Par no-vice dans le forum Langage
    Réponses: 5
    Dernier message: 09/08/2002, 15h55
  3. URGENT: retour de string
    Par Pinggui dans le forum CORBA
    Réponses: 4
    Dernier message: 15/07/2002, 10h47
  4. Réponses: 2
    Dernier message: 05/06/2002, 13h29
  5. String Grid et choix d'une couleur pour une ligne
    Par Gigottine dans le forum C++Builder
    Réponses: 12
    Dernier message: 17/05/2002, 16h23

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