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éation de n liste boucle for


Sujet :

Python

  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2018
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2018
    Messages : 18
    Par défaut Création de n liste boucle for
    Bonjour à tous et à toutes,

    Je cherche à créer n liste vide sous python de la forme line0, line1, line2 .... line(n). Une boucle for semble tout indiqué mais je n'arrive pas a trouver comment la faire.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    for i in range(n):
         line[i] = []
    Forcement ça ne fonctionne pas, python va chercher l'élément i de la liste line alors qu'elle n'existe pas. j'ai pensé a un équivalent de la méthode .format sans en trouver ...

    merci d'avance, cordialement, elliot

  2. #2
    Membre Expert

    Homme Profil pro
    Ingénieur calcul scientifique
    Inscrit en
    Mars 2013
    Messages
    1 229
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur calcul scientifique

    Informations forums :
    Inscription : Mars 2013
    Messages : 1 229
    Par défaut
    Plutot que de faire n listes dont tu vas avoir du mal à gérer le nom, fait simplement une liste de n sous listes.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    lines = []
    for i in range(n) :
        lines.append([])
    qui peut se raccourcir comme cela :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    lines = [ [] for _ in range(n) ]
    ainsi chaque élément de lines, est une liste représentant une seule ligne

  3. #3
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2018
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2018
    Messages : 18
    Par défaut
    Bonjour,

    Merci pour ta réponse rapide, mais je cherche à créer plusieurs listes vide avec seulement leurs indice qui change et ensuite à pouvoir les appeler.
    Avec le recul je me rends compte que la méthode que tu propose est peut-être plus approprié pour ce que je souhaite faire. Je reste néanmoins intéressé si vous avez une méthode pour créer plusieurs listes avec seulement la leurs indice qui change.
    Bien cordialement,
    elliot

  4. #4
    Membre Expert

    Homme Profil pro
    Ingénieur calcul scientifique
    Inscrit en
    Mars 2013
    Messages
    1 229
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur calcul scientifique

    Informations forums :
    Inscription : Mars 2013
    Messages : 1 229
    Par défaut
    Un indice c'est écrire :

    Maintenant si tu veux des noms en line0, line1, line2 etc ... pour python ce ne sont pas des indices. Ce sont juste des noms différents, aussi différent que le serait "chien" et "toto".

    Ajouter des variables comme ca dynamiquement doit pouvoir se faire en manipulant l'espace de nom du module que tu gères, mais 1) ca dépasse tes compétences je pense, 2) c'est pas du tout propre, je ne recommande absolument pas.

  5. #5
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 696
    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 696
    Par défaut
    Salut,

    Citation Envoyé par hell-bananaz Voir le message
    je cherche à créer plusieurs listes vide avec seulement leurs indice qui change et ensuite à pouvoir les appeler.
    oui mais c'est quoi une liste vide avec un indice qui change?

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

  6. #6
    Expert confirmé
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    4 049
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Lead Dev Python
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2006
    Messages : 4 049
    Par défaut
    mais je cherche à créer plusieurs listes vide avec seulement leurs indice qui change et ensuite à pouvoir les appeler.
    Cela veut dire connaître le nombre maximum de listes vides pouvant être insérées, créer une liste qui comprendra toutes ces possibles listes vides et les ajouter en fonction du nombre de lignes souhaité.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    >>> MAX_COLUMN = 5
    >>> lines = []
    >>> lines.append([None for _ in range(MAX_COLUMN)])
    >>> lines
    [[None, None, None, None, None]]
    >>> lines.append([None for _ in range(MAX_COLUMN)])
    >>> lines
    [[None, None, None, None, None], [None, None, None, None, None]]
    >>> lines[0][2] = [] # assigner liste vide 1ere ligne et 3eme colonne
    >>> lines
    [[None, None, [], None, None], [None, None, None, None, None]]

  7. #7
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2018
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2018
    Messages : 18
    Par défaut
    Bien le bonjour,

    Merci à tous et à toute pour vos aides, j'ai pu résoudre mon problème avec la méthode classique proposer par LG53.
    Encore merci,

    Bien cordialement, Elliot

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

Discussions similaires

  1. Réponses: 8
    Dernier message: 06/04/2018, 09h11
  2. Pb de modification de liste dans une boucle for
    Par schnito dans le forum Général Python
    Réponses: 5
    Dernier message: 20/04/2007, 10h27
  3. Création dynamique et boucle for en vba Access 2000
    Par billy123 dans le forum Access
    Réponses: 4
    Dernier message: 22/02/2007, 11h29
  4. Réponses: 2
    Dernier message: 28/08/2006, 18h17
  5. [VB6] boucle for avec liste de valeur defini
    Par Morpheus2144 dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 06/04/2006, 18h12

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