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 :

Créer liste à partir d'une string


Sujet :

Python

Vue hybride

roro34570 Créer liste à partir d'une... 15/11/2012, 14h56
VinsS Salut, Pour un petit code... 15/11/2012, 15h11
roro34570 Salut, merci pour ta réponse.... 15/11/2012, 15h17
roro34570 Donc sur le FAQ je n'ai pas... 15/11/2012, 15h55
pfeuh Salut, Je pense que tu... 15/11/2012, 16h35
Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Octobre 2012
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Santé

    Informations forums :
    Inscription : Octobre 2012
    Messages : 7
    Par défaut Créer liste à partir d'une string
    Bonjour à tous,

    est il possible de créer des listes dont le nom a été généré automatiquement, comme à l'aide de ce code.

    Le résultat donne donc une liste de string. Ce que je veux faire, c'est créer autant de liste qu'il y a d'item dans la liste et que leur nom soit celui des strings de la liste "liste_depart"

    Est ce possible ?

    Merci
    Fichiers attachés Fichiers attachés

  2. #2
    Expert confirmé

    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    4 307
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2008
    Messages : 4 307
    Par défaut
    Salut,

    Pour un petit code il est mieux de l'insérer directement dans ton message.

    Avec les balises qui vont bien.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    liste_depart = []
     
    compteur = 1
     
    for i in range(1,15):
        liste_depart.append("liste"+str(i))
     
    print(liste_depart)
    Ce code semble déjà répondre à ce que tu demande, non ?

    ("liste"+str(i)) étant une string générée par le code et commence par le terme donné.

    Peut-être qu'un exemple de listes d'entrée et de sortie sera plus clair.

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Octobre 2012
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Santé

    Informations forums :
    Inscription : Octobre 2012
    Messages : 7
    Par défaut
    Salut, merci pour ta réponse.

    Je pense que je viens de trouver dans le FAQ. Et oui je me suis précipité dsl.

    Donc à partir de la liste que génère le code, je veux créer des listes à part entière qui auront comme nom les strings de la liste générée.

    http://python.developpez.com/faq/ind...es#GenStrDecla

  4. #4
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Octobre 2012
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Santé

    Informations forums :
    Inscription : Octobre 2012
    Messages : 7
    Par défaut
    INPUT :

    liste = ["liste1","liste2","liste3","liste4"]




    OUTPUT :

    liste1=[]
    liste2=[]
    liste3=[]
    liste4=[]
    Donc sur le FAQ je n'ai pas trouvé la réponse. On peut changer la string en variable. Pour changer en liste je n'ai pas trouvé.

  5. #5
    Membre Expert
    Profil pro
    Développeur en systèmes embarqués retraité
    Inscrit en
    Mars 2006
    Messages
    952
    Détails du profil
    Informations personnelles :
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2006
    Messages : 952
    Par défaut
    Salut,

    Je pense que tu n'as eu le déclic, mais la réponse est bel et bien dans le lien que tu donnes. Par contre la fonction exec est une grosse faille de sécurité car en tant qu'utilisateur on peut modifier le script qui est en train de s'exécuter.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    items = ["liste1","liste2","liste3","liste4"]
    for item in items:
        commandline = "%s = []"%item
        print 'execution de la ligne "%s"'%commandline
        exec(commandline)
    print liste1, liste2, liste3, liste4
    De plus l'intérêt de cette façon de faire n'est pas terrible, car à chaque fois que tu voudras utiliser une de ces listes, il faudra passer par la commande exec ou eval...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    items = ["liste1","liste2","liste3","liste4"]
    for item in items:
        exec("%s = []"%item)
     
    templist = eval('liste4')
    for value in ["azerty", 33, 123.4566]:
        templist.append(value)
    print eval('liste4')
    A+

    Pfeuh

  6. #6
    Membre confirmé Avatar de memento80
    Homme Profil pro
    Boulot : ne rentre pas dans une case
    Inscrit en
    Novembre 2004
    Messages
    163
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Boulot : ne rentre pas dans une case
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2004
    Messages : 163
    Par défaut
    Bonjour,

    Ou alors je ne suis pas sur d'avoir compris la question mais la réponse ne réside-t-elle pas dans la fonction exec tel que c'est expliqué dans la FAQ ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    Une autre méthode est d'utiliser directement la fonction exec(unstr) qui exécute la chaîne de caractères passé en argument
     
    >>> exec('mavariable=5')
    >>> mavariable
    5
    >>> exec("mavariable=['5','6']")
    >>> mavariable
    ['5', '6']
    Ceci afin d'exécuter dans chaque boucle une exécution de création de la liste avec le nom souhaité.

    Edit : J'ai été moins rapide..

Discussions similaires

  1. créer une liste à partir d'une suite définie par récurence
    Par carryPAR dans le forum Général Python
    Réponses: 5
    Dernier message: 02/03/2015, 10h33
  2. Editer liste a partir d'une string
    Par Nako_lito dans le forum Objective-C
    Réponses: 0
    Dernier message: 28/12/2012, 22h28
  3. [TINYXML] Créer un TiXmlDocument à partir d'une string
    Par lololeuleu dans le forum Bibliothèques
    Réponses: 1
    Dernier message: 13/06/2007, 13h36
  4. [Vb.net] Comment faire une liste à partir d'une string
    Par NicoNGRI dans le forum ASP.NET
    Réponses: 1
    Dernier message: 25/10/2006, 14h15
  5. Réponses: 6
    Dernier message: 24/01/2005, 11h06

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