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 :

tableau 2 dimensions d'objets


Sujet :

Python

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2015
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2015
    Messages : 15
    Points : 10
    Points
    10
    Par défaut tableau 2 dimensions d'objets
    Bonjour je débute en python et j'aurai voulu savoir tout simplement comment créer un tableau deux dimensions (ou une liste de liste) d'objets.

    J'aurai voulu savoir par la même occasion savoir comment l'initialiser merci.

    dans mon cas j'ai deux classes

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    class Arbre:
     
    	def __init__(self,nomArbre,croissance):
    		self.nom = nomArbre;
    		self.croissance = croissance;
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    class Foret:
     
    	def __init__(self,longeur,largeur)
    dans ma classe arbre je voudrait avoir un tableau de dimensions longueur et largeur d'Arbre.

    Merci pour tout aide que vous pourriez m'apporter

  2. #2
    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
    Bonjour,
    Je ne sais pas si j'ai bien compris la question, mais:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    >>> class Arbre:
    	def __init__(self, nomArbre, croissance):
    		self.nom = nomArbre
    		self.croissance = croissance
     
     
    >>> class Foret:
    	def __init__(self, longueur, largeur):
    		nomArbre = "Arbousier"
    		croissance = 25
    		self.tableau = [[Arbre(nomArbre, croissance) for x in range(largeur)]
    				for y in range(longueur)]
    	def affiche(self):
    		print(self.tableau)
     
     
    >>> ma_f = Foret(2, 3)
    >>> ma_f.affiche()
    [[<__main__.Arbre object at 0x7f7cb1a2a9e8>, <__main__.Arbre object at 0x7f7cb1a2aba8>, <__main__.Arbre object at 0x7f7cb1a2a9b0>], [<__main__.Arbre object at 0x7f7cb1a2aef0>, <__main__.Arbre object at 0x7f7cb1a2a780>, <__main__.Arbre object at 0x7f7cb1a2a160>]]
    >>>
    Non?

    Clodion

  3. #3
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2015
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2015
    Messages : 15
    Points : 10
    Points
    10
    Par défaut
    merci pour ta réponse oui ça à l'air d’être ca

    j'ai une dernière question

    pour parcourir mon tableau (car j'ai du mal à comprendre ta syntaxe)

    il suffit de faire ? (dans le cas ou je rajoute une méthode dans arbre pour changer le nom de l'arbre (j'utilise un setter car j'ai l'habitude d'utiliser du java même si je pense qu'il il y a un moyen plus simple)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    for x in range(largeur)
        for y in range(longueur)
            self.tableau[x][y].setNom('aze');
    (je ne suis actuellement pas chez moi du coup je ne peux pas tester : /)

  4. #4
    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 wzzz75 Voir le message
    pour parcourir mon tableau (car j'ai du mal à comprendre ta syntaxe)

    il suffit de faire ? (dans le cas ou je rajoute une méthode dans arbre pour changer le nom de l'arbre (j'utilise un setter car j'ai l'habitude d'utiliser du java même si je pense qu'il il y a un moyen plus simple)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    for x in range(largeur)
        for y in range(longueur)
            self.tableau[x][y].setNom('aze');
    (je ne suis actuellement pas chez moi du coup je ne peux pas tester : /)
    Bonjour,
    La structure que j'utilise est une liste par intention.
    Oui, on peut parcourir la liste de liste par deux "for in" imbriqués.
    Chaque élément est modifiable:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    >>> largeur, longueur = 3, 4
    >>> lst = [[(x, y) for x in range(largeur)] for y in range(longueur)]
    >>> lst
    [[(0, 0), (1, 0), (2, 0)], [(0, 1), (1, 1), (2, 1)], [(0, 2), (1, 2), (2, 2)], [(0, 3), (1, 3), (2, 3)]]
    >>> lst[1]
    [(0, 1), (1, 1), (2, 1)]
    >>> lst[1][0]
    (0, 1)
    >>> lst[1][0] = 10
    >>> lst[1][0]
    10
    >>> lst
    [[(0, 0), (1, 0), (2, 0)], [10, (1, 1), (2, 1)], [(0, 2), (1, 2), (2, 2)], [(0, 3), (1, 3), (2, 3)]]
    >>>
    Clodion

  5. #5
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2015
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2015
    Messages : 15
    Points : 10
    Points
    10
    Par défaut
    Merci beaucoup c'est exactement ce que je cherchais

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

Discussions similaires

  1. [débutant] un tableau de dimension variable selon l'objet qui le contient
    Par Epistocles dans le forum Collection et Stream
    Réponses: 5
    Dernier message: 09/01/2007, 18h07
  2. [tableau à 2 dimensions] association String et float
    Par LoLoSS dans le forum Collection et Stream
    Réponses: 3
    Dernier message: 12/07/2004, 10h53
  3. Tableau à n dimensions
    Par youb dans le forum MFC
    Réponses: 10
    Dernier message: 13/05/2004, 14h13
  4. Passage d'un tableau à deux dimensions
    Par karl3i dans le forum C
    Réponses: 3
    Dernier message: 20/10/2003, 14h50
  5. Réponses: 23
    Dernier message: 21/08/2003, 07h16

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