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 :

RegEx et Python


Sujet :

Python

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    168
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 168
    Points : 97
    Points
    97
    Par défaut RegEx et Python
    Bonjour

    j'ai un dictionnaire de cette forme :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    tbDict={'fields1':'value1','field2':[{'field2.1':'value2.1'},{'field2.2':'value2.2'}],'field3':'value3'}
    Je voudrais avec un RegEx modifier mon dictionnaire pour obtenir ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    tbDict={'fields1':'value1','field3':'value3'}
    Comment faire ?

  2. #2
    Membre éprouvé

    Homme Profil pro
    Diverses et multiples
    Inscrit en
    Mai 2008
    Messages
    662
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Diverses et multiples

    Informations forums :
    Inscription : Mai 2008
    Messages : 662
    Points : 1 273
    Points
    1 273
    Par défaut
    Ben, c’est pas bien clair, là… Tu veux appliquer une regex à un dico python*?

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    168
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 168
    Points : 97
    Points
    97
    Par défaut
    Si tu as une autre méthode je suis preneur. Sachant que la position de 'field2' n'est pas connu et peut être à la fin ou au début. Sachant que le formatage de 'field2' est toujours le même je souhaitais utiliser une regex pour modifier le dico.
    qu'en pensez vous ?

  4. #4
    Membre éprouvé
    Inscrit en
    Août 2010
    Messages
    1 124
    Détails du profil
    Informations forums :
    Inscription : Août 2010
    Messages : 1 124
    Points : 1 277
    Points
    1 277
    Par défaut
    D'apres ce que je comprends, tu cherches à filtrer les items d'un dico en fonction des valeurs, cela n'a rien à voir avec les regexp !

    Essaye ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    dict_filtre= dict([(k,v) for k,v in tbDict.iteritems() if not(isinstance(v,list)) ])

  5. #5
    Membre éprouvé

    Homme Profil pro
    Diverses et multiples
    Inscrit en
    Mai 2008
    Messages
    662
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Diverses et multiples

    Informations forums :
    Inscription : Mai 2008
    Messages : 662
    Points : 1 273
    Points
    1 273
    Par défaut
    Ben voui, je plussoie VV33D, les regex sont là pour traiter des chaînes de caractères “pures”, pas des objets python quelconques comme les dicts et lists…

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    168
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 168
    Points : 97
    Points
    97
    Par défaut
    Merci VV33D et mont29 cela fonctionne comme cela. Je pensais qu'avec ReGex il était possible d'appliquer des règles sur des objets python cf lien Ici avec Regular Expression Objects.

  7. #7
    Membre éprouvé
    Inscrit en
    Août 2010
    Messages
    1 124
    Détails du profil
    Informations forums :
    Inscription : Août 2010
    Messages : 1 124
    Points : 1 277
    Points
    1 277
    Par défaut
    Comme il est écrit sur la 1ere ligne, les seuls objets regexpable sont les strings, pas n'importe quel objet.
    Both patterns and strings to be searched can be Unicode strings as well as 8-bit strings.

  8. #8
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    168
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 168
    Points : 97
    Points
    97
    Par défaut [Résolue]
    Merci

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

Discussions similaires

  1. [RegExp] Une regex Python en Javascript
    Par ____22 dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 05/08/2011, 17h15
  2. [Python] Regex d'intro
    Par nicolo011 dans le forum Général Python
    Réponses: 4
    Dernier message: 26/01/2010, 14h30
  3. Regex en python
    Par greg1517 dans le forum Général Python
    Réponses: 5
    Dernier message: 12/10/2009, 15h55
  4. regex : différence entre Perl et Python
    Par rambc dans le forum Général Python
    Réponses: 3
    Dernier message: 08/01/2009, 20h53
  5. python et regex
    Par olaxius dans le forum Général Python
    Réponses: 2
    Dernier message: 15/11/2006, 14h02

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