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 pré-initialisé à 2 dimensions


Sujet :

Python

  1. #1
    Membre confirmé Avatar de sopsag
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    224
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2008
    Messages : 224
    Par défaut Tableau pré-initialisé à 2 dimensions
    Bonjour,

    voici une question bête :

    Je souhaite créer un tableau à 2 dimensions avec des valeurs déjà dedans.
    Par exemple un tableau de 3 par 4 booléens initialisés à False.
    Je fais ça avec un liste de listes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    >>> t = [[False]*3]*4
    >>> t
    [[False, False, False], [False, False, False], [False, False, False], [False, False, False]]
    # jusqu'ici tout va bien... mais après, ça se corse :
    >>> t[1][2] = True
    >>> t
    [[False, False, True], [False, False, True], [False, False, True], [False, False, True]]
    On voit que mes 4 listes-lignes sont en fait des référence sur la même.

    D'où ma question :
    Comment créer t de manière à ce que chaque ligne soit un instance unique ?

    Evidemment, il y a
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    >>> tt = []
    >>> for i in xrange( 4 ):
    ...    tt += [[False]*3]
    Mais j'aimerais quelque chose de plus concis, élégant... pythonesque quoi.

    Merci d'avance

  2. #2
    Rédacteur
    Avatar de Zavonen
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 772
    Détails du profil
    Informations personnelles :
    Âge : 77
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 772
    Par défaut
    Code python : Sélectionner tout - Visualiser dans une fenêtre à part
    t=[[False for i in xrange(0,3)] for j in xrange(0,4)]
    Ce qu'on trouve est plus important que ce qu'on cherche.
    Maths de base pour les nuls (et les autres...)

  3. #3
    Membre confirmé Avatar de sopsag
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    224
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2008
    Messages : 224
    Par défaut
    Merci !
    Toutefois, j'opte pour une version légèrement plus concise :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    t = [[False]*3 for i in xrange(4)]

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

Discussions similaires

  1. Tableau de chaines à 2 dimensions
    Par secretman dans le forum Delphi
    Réponses: 7
    Dernier message: 24/06/2007, 13h36
  2. [C#] Tableau et Array 2 dimension
    Par appwnet dans le forum Windows Forms
    Réponses: 5
    Dernier message: 22/10/2006, 14h46
  3. Réponses: 13
    Dernier message: 01/10/2006, 00h25
  4. Changer la taille d'un tableau déjà initialisé
    Par totofweb dans le forum C++
    Réponses: 2
    Dernier message: 25/07/2004, 15h55
  5. Réponses: 4
    Dernier message: 13/05/2002, 16h43

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