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 :

Problemme de liste


Sujet :

Python

  1. #1
    Candidat au Club
    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Juillet 2014
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur de jeux vidéo
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2014
    Messages : 2
    Par défaut Problemme de liste
    Bonjour,
    Je développe actuellement un outil python intégré a un logicielle 3d, mais j'ai un souci :
    j'ai une liste principal avec d'autres listes a l'intérieur le nombre n'étant pas déterminer du type : [ [ [],[], * x ], [ [],[], * x ], [ [],[], * x ] ]
    Pour pouvoir enregistrer ma liste dans le logicielle je la converti en string, mais le problème est que quand je récupère le string je n'arrive pas à le reconvertir en liste identique a ca forme initial :/
    Auriez-vous des idées ?

  2. #2
    Expert confirmé

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

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

    tu peux utiliser eval()
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    >>> l = eval('[[[], [], 22], [[], [], 54]]')
    >>> l
    [[[], [], 22], [[], [], 54]]
    Si les données ne sont pas sûres, on utilise alors literal_eval du module ast
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    >>> import ast
    >>> l = ast.literal_eval('[[[], [], 22], [[], [], 54]]')
    >>> l
    [[[], [], 22], [[], [], 54]]

  3. #3
    Candidat au Club
    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Juillet 2014
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur de jeux vidéo
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2014
    Messages : 2
    Par défaut
    Dacord merci.

  4. #4
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 812
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 812
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par flo_1313 Voir le message
    Pour pouvoir enregistrer ma liste dans le logiciel je la convertis en string, mais le problème est que quand je récupère le string je n'arrive pas à le reconvertir en liste identique a sa forme initiale :/
    Bonjour

    Pour sauvegarder un objet Python, tu as cPickle
    Code python : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    >>> import cPickle
    >>> a=range(10)
    >>> b=cPickle.dumps(a)
    >>> b
    '(lp1\nI0\naI1\naI2\naI3\naI4\naI5\naI6\naI7\naI8\naI9\na.'
    >>> len(b)
    46
    >>> c=cPickle.loads(b)
    >>> c
    [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

    Tu peux rajouter en plus le module zlib si tu veux, en plus, compresser/décompresser la sauvegarde de ton objet...
    Code python : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    >>> import zlib
    >>> b=zlib.compress(cPickle.dumps(a), 9)
    >>> b
    'x\xda\xd3\xc8)0\xe4\xf24\xe0J\xf44\x04b# 6\x06b\x13 6\x05b3 6\x07b\x0b \xb6\xe4J\xd4\x03\x00\xf9\r\n\x83'
    >>> len(b)
    42
    >>> c=cPickle.loads(zlib.decompress(b))
    >>> c
    [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

    PS: tu pourrais quand-même faire des efforts sur l'orthographe !!!
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

Discussions similaires

  1. tri de liste chainée
    Par RezzA dans le forum C
    Réponses: 7
    Dernier message: 26/01/2003, 20h25
  2. Réponses: 2
    Dernier message: 04/10/2002, 09h13
  3. liste d'objets
    Par Pierrot dans le forum Langage
    Réponses: 2
    Dernier message: 27/09/2002, 09h56
  4. Compter le nombre ligne listée (COUNT) ?
    Par StouffR dans le forum Langage SQL
    Réponses: 7
    Dernier message: 02/09/2002, 09h41
  5. Listes déroulantes liées entre elles
    Par denisC dans le forum Général JavaScript
    Réponses: 0
    Dernier message: 27/07/2002, 15h53

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