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 :

Associer une variable à une texte


Sujet :

Python

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2015
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2015
    Messages : 3
    Points : 1
    Points
    1
    Par défaut Associer une variable à une texte
    Bien le bonjour!


    Je suis novice en python et j'ai besoin d'aide.. (comme beaucoup ici, je suppose)

    En gros j'ai à ma disposition une liste L de la forme [texte, nombre, texte, nombre, etc..]
    Le texte peut avoir environ une centaine de forme différente. Par exemple texte1, texte2, texte3, etc...

    Aussi dans mon algorithme je défini une centaine de variables. Var1, var2, etc..


    J'utilise ma liste L dans une fonction. Et j'aimerai faire comprendre à python que si il aperçoit 'texte10' en L[0] il devra travailler avec la variable Var10 sans devoir écrire les 100**n "if L[0] == 'texte10': a = Var10"

    Est-ce qu'il y aurait une méthode plus simple?


    Merci d'avance pour votre aide et bonne journée!

  2. #2
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 287
    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 287
    Points : 36 776
    Points
    36 776
    Par défaut
    Citation Envoyé par Casus4772 Voir le message
    J'utilise ma liste L dans une fonction. Et j'aimerai faire comprendre à python que si il aperçoit 'texte10' en L[0] il devra travailler avec la variable Var10 sans devoir écrire les 100**n "if L[0] == 'texte10': a = Var10"
    Associer 'texte10' à un objet particulier s'appelle réaliser un mapping. Avec Python, vous disposer des "dict"ionaires qui sont des objets aussi basiques que les "list"es.
    Exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    >>> var10 = 'xyz'
    >>> mapping = { 'texte10': var10, }
    >>> L = [ 'texte10', 'texte3', 'texte4' ]
    >>> for e in L:
    ...     v = mapping.get(e)
    ...     print (v)
    ...
    xyz
    None
    None
    >>>
    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  3. #3
    Membre éprouvé
    Homme Profil pro
    Aucune activité
    Inscrit en
    Novembre 2011
    Messages
    505
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Aucune activité

    Informations forums :
    Inscription : Novembre 2011
    Messages : 505
    Points : 926
    Points
    926
    Par défaut
    Bonsoir,
    Je ne comprends pas trop. Utiliser 100 variables me semble excessif, surtout pour un "novice", non?
    Il se peut que l'algorithme utilisé puisse être modifié afin de ne pas recourir à toutes ces variables.

    Comment sont obtenues ces variables? Ont-elles besoin d'être des variables (plutôt qu'une liste de données?)

    Quel est l'objectif?

    Serait-il possible d'avoir le code déjà fait, afin de pouvoir travailler sur du tangible?

    Clodion

  4. #4
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2015
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2015
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    Re-Bonjour!

    Tout d'abord merci de vos réponses.



    @wiztricks Je vais essayer si cette commande me convient. Cela dit vous associez un texte à un texte. J'aimerai associer une valeur à un texte et lorsque je croise le texte, pouvoir modifier la valeur qui lui est associée.

    @Clodion Mon objectif n'est pas de m'entrainer. L'objectif est ici de faire un classement entre différentes équipes dont les données (résultats de leurs matchs) sont réunies sur un serveur SQL. On a réussi à obtenir ces données sur python sous forme de listes (dont la forme se trouve dans mon premier poste). Les équipes sont environ au nombre de 100, d'ou le nombre de variable. Les données associées au texte (i.e associées au nom de l'équipe) vont évoluer au cours du temps donc oui, il est nécessaire que ce soit des variables (globales).



    J'ai trouvé sur un autre forum la commande:

    dico= {}
    x= 'toto'
    dico[x]=4


    est-ce que cela est une commande potable ou est-ce que je vais me retrouver avec des problèmes potentiels par la suite?




    EDIT: Il est difficile pour moi de mettre un code déjà fait puisque je n'ai rien fait pour le moment étant donné que j'ai ce problème. Tout ce que j'ai c'est le code permettant de récuperer les données SQL.

  5. #5
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 287
    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 287
    Points : 36 776
    Points
    36 776
    Par défaut
    Citation Envoyé par Casus4772 Voir le message
    @wiztricks Je vais essayer si cette commande me convient. Cela dit vous associez un texte à un texte. J'aimerai associer une valeur à un texte et lorsque je croise le texte, pouvoir modifier la valeur qui lui est associée.
    Un mapping associe une clé (votre texte) à une valeur de n'importe quel type.
    Si vous voulez apprendre à programmer, passez du temps à apprendre à pratiquer avec un tutoriel comme le Swinnen

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

  6. #6
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2015
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2015
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    Merci pour le lien et votre réponse. Je regarderai si j'ai le temps. J'ai déjà quelques bases en python (while, for, ce genre de commandes "logiques"..) mais étant donné qu'il y a plein de bibliothèques et de commandes, je préfère voir si il y en a pas une qui me permet de me simplifier la vie. Ici c'est visiblement la cas.


    Encore merci et bonne soirée.

  7. #7
    Membre éprouvé
    Homme Profil pro
    Aucune activité
    Inscrit en
    Novembre 2011
    Messages
    505
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Aucune activité

    Informations forums :
    Inscription : Novembre 2011
    Messages : 505
    Points : 926
    Points
    926
    Par défaut
    Citation Envoyé par Casus4772 Voir le message
    @Clodion Mon objectif n'est pas de m'entrainer. L'objectif est ici de faire un classement entre différentes équipes dont les données (résultats de leurs matchs) sont réunies sur un serveur SQL. On a réussi à obtenir ces données sur python sous forme de listes (dont la forme se trouve dans mon premier poste). Les équipes sont environ au nombre de 100, d'ou le nombre de variable. Les données associées au texte (i.e associées au nom de l'équipe) vont évoluer au cours du temps donc oui, il est nécessaire que ce soit des variables (globales).

    dico= {}
    x= 'toto'
    dico[x]=4
    Bonsoir,
    En essayant de comprendre, la liste contient le nom des équipes suivie par le un nombre de buts, de points ou je ne sais quoi. Non?
    L'une des manières de procéder est alors d'utiliser, peu ou prou, des dictionnaires (merci à wiztricks).
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    >>> lst = ["b", 1, "a", 10, "c", 5]
    >>> lst
    ['b', 1, 'a', 10, 'c', 5]
    >>> dct = {lst[x]:lst[x+1] for x in range(0, len(lst), 2)}
    >>> dct
    {'c': 5, 'b': 1, 'a': 10}
    >>>
    Ceci permet de gérer une seule et unique variable.
    Les dictionnaires ont une grande souplesse d'utilisation.
    Les tutoriels sont souvent très utiles et disponibles sur le site.

    Clodion

Discussions similaires

  1. [Batch] Recherche une variable dans texte formaté
    Par canorra dans le forum Scripts/Batch
    Réponses: 2
    Dernier message: 27/06/2011, 10h22
  2. Associer TOp avec une variable
    Par lelensois16 dans le forum Requêtes et SQL.
    Réponses: 6
    Dernier message: 15/01/2010, 09h49
  3. Assigner a une variable une valeur lue dans un fichier texte
    Par mapotam dans le forum Shell et commandes GNU
    Réponses: 7
    Dernier message: 22/12/2009, 14h46
  4. Migrer un texte d’une variable à une div
    Par Gunner4902 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 17/11/2007, 13h18
  5. Réponses: 10
    Dernier message: 19/02/2004, 12h58

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