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 d'une liste imbriqué, représentation d'un tableau (ligne et colonne)


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2014
    Messages
    58
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Novembre 2014
    Messages : 58
    Par défaut Création d'une liste imbriqué, représentation d'un tableau (ligne et colonne)
    Bonjour à tous,

    Alors voilà je suis confronté à un problème, je voudrais retourner une liste d'éléments imbriqué comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    [[4, 3, 2, 1, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0]]
    Le problème c'est que je récupère pas ça :/. Voici le retour que j'ai :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    [[4], [3], [2], [1], [0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0]]
    Donc la partie : [4], [3], [2], [1], [0] ne va pas du tout.

    Voici mon code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    colonnes = []
     
    for i in reversed(range(0, 5)):
        colonnes.append([i])
     
    for i in range(0, 5):
        colonnes.append([0] * 5)
     
    print(colonnes)
    Je ne sais pas comment rendre les valeurs 4, 3, 2, 1, 0 dans une seule liste. Avez-vous une solution ?

    Merci d'avance.

  2. #2
    Membre averti
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2014
    Messages
    58
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Novembre 2014
    Messages : 58
    Par défaut
    En réfléchissant j'ai crée une liste temporaire : (il y a surement plus propre (compréhension de liste), mais étant débutant en python pour le moment ça me convient . N'hésitez pas à refactorer le code )

    Ce qu'il me faudrait c'est d'afficher le résultat comme un vrai tableau :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    5     4     3     2     1     0
    0     0     0     0     0     0
    0     0     0     0     0     0
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    tab = []
    tmp = []
    for i in reversed(range(0, 11)):
        tmp.append(2 ** i)
     
    tab.append(tmp)
     
    for i in range(0, 11):
        tab.append([0] * 11)
     
    print(tab)

  3. #3
    Expert confirmé
    Avatar de tyrtamos
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2007
    Messages
    4 486
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2007
    Messages : 4 486
    Billets dans le blog
    6
    Par défaut
    Bonjour,

    Comme ça?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    L = []
    for i in range(0, 5):
        L.append([])
        for j in reversed(range(0, 5)):
            if i == 0:
                L[-1].append(j)
            else:
                L[-1].append(0)
    print(L)
    [[4, 3, 2, 1, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0]]

  4. #4
    Membre averti
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2014
    Messages
    58
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Novembre 2014
    Messages : 58
    Par défaut
    Et ton refactor est beaucoup moins verbeux que mon code

    Merci à toi.

  5. #5
    Expert confirmé
    Avatar de tyrtamos
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2007
    Messages
    4 486
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2007
    Messages : 4 486
    Billets dans le blog
    6
    Par défaut
    Si tu veux quelque chose de concis, juste pour le fun:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    print([[j if i==0 else 0 for j in reversed(range(0, 5))] for i in range(0, 5)])
    [[4, 3, 2, 1, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0]]

  6. #6
    Membre averti
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2014
    Messages
    58
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Novembre 2014
    Messages : 58
    Par défaut
    Vraiment pour le fun . Pour relire ça après 1 an doit être galère . Sauf si la lecture de liste en compréhension vient avec le temps .

Discussions similaires

  1. création d'une liste d'après un fichier en c
    Par ghislain118 dans le forum Algorithmes et structures de données
    Réponses: 6
    Dernier message: 21/12/2005, 10h56
  2. Réponses: 5
    Dernier message: 13/10/2005, 10h19
  3. [generic] pb création d'une List []
    Par yoplaboom dans le forum Langage
    Réponses: 6
    Dernier message: 08/07/2005, 13h01
  4. Création d'une liste ...
    Par keryss dans le forum Access
    Réponses: 6
    Dernier message: 21/10/2004, 09h00

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