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 :

les tableaux en python [Python 2.X]


Sujet :

Python

  1. #1
    Membre confirm�
    Inscrit en
    Mai 2007
    Messages
    103
    D�tails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 103
    Par d�faut les tableaux en python
    Bonjour,

    J'aimerais d�clar� un tableau comme ceci

    array[0][0]="toto"
    array[0][1]="tato"
    array[1][0]="tata"
    array[1][1]="tita"

    mais j'avoue que la d�claration que j'ai trouv� des trucs sur internet mais je n'arrive pas � l'impl�menter.

    Si quelqu'un peut m'expliqu� bri�vement.

    Merci par avance

  2. #2
    Expert confirm�
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    4 100
    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 100
    Par d�faut
    Il faut tester sur l'interpr�teur

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    >>> array = [[[], []], [[], []]]
    >>> array[0][0] = "toto"
    >>> array[0][1] = "tato"
    >>> array
    [['toto', 'tato'], [[], []]]

  3. #3
    Membre Expert Avatar de plxpy
    Homme Profil pro
    Ing�nieur g�ographe
    Inscrit en
    Janvier 2009
    Messages
    792
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 60
    Localisation : France, Haute Garonne (Midi Pyr�n�es)

    Informations professionnelles :
    Activit� : Ing�nieur g�ographe
    Secteur : A�ronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Janvier 2009
    Messages : 792
    Par d�faut
    Bonjour

    Citation Envoy� par fred1599
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    >>> array = [[[], []], [[], []]]
    >>> array[0][0] = "toto"
    >>> array[0][1] = "tato"
    >>> array
    [['toto', 'tato'], [[], []]]
    Je trouve l'"initialisation"

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    >>> array = [[[], []], [[], []]]
    assez malheureuse (la 2D pose probl�me ? prenons la 3D : �l�ments de la liste de listes : des listes vides ...). Certes, in fine, �a fonctionne (car on �crase all�grement ces �l�ments par une affectation d'une chaine de caract�res) mais j'ai peur que cela plonge encore plus le PO dans des ab�mes de perplexit� ... d�j� que ...

    A la limite, j'aurais pr�f�r� :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    >>> array = [[None, None], [None, None]]
    D'ailleurs, la_fouine1806, quels sont les "trucs" trouv�s sur internet qui te laissent perplexe ? C'est peut-�tre �a que tu devrais poster, non ?

  4. #4
    Expert confirm�
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    4 100
    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 100
    Par d�faut
    mais j'ai peur que cela plonge encore plus le PO dans des ab�mes de perplexit� ... d�j� que ...
    C'est voulu ! Simple, probl�me mal pos�, r�ponses ambigu�s, et c'est l� toute la difficult� du d�veloppement. Quand on r�fl�chi pas � comment bien concevoir la r�solution d'un probl�me, on se pose tr�s souvent les mauvaises questions

    A la limite, j'aurais pr�f�r� : ...
    Pas mieux, on voit bien le probl�me, �a reste quelque chose d'abstrait et qui donne l'impression que notre solution n'est pas celle qu'attend le PO.

    Du coup esp�rons l'avoir fait r�agir pour avoir enfin un probl�me bien pos�, voir une solution bien pens�e.

  5. #5
    Membre confirm�
    Inscrit en
    Mai 2007
    Messages
    103
    D�tails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 103
    Par d�faut
    Bonjour Messieurs,

    Tout d'abord merci pour vos r�ponses. Je vais tester dans la fouler.

    Les trucs, que j'ai trouv� sur internet, sont des choses du type array[1].appendix(A) ou des trucs du genre array= 2*[2*[]] pour une matrice 2*2

    J'ai du mal � me le repr�senter mentalement ...

    Vos explications me conviennent en plus ca me rapproche un peu plus du C que je connais plus. (c'est peut �tre l'une des raisons pourquoi j'�tais perdu ... )

    En tout cas merci, je m'en vais tester de ce pas.

    Je vous tiens au jus si je bloque avant de mettre r�olsu. En tout cas merci !

  6. #6
    Membre confirm�
    Inscrit en
    Mai 2007
    Messages
    103
    D�tails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 103
    Par d�faut
    Une derni�re question,

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    StartEnd = 2*[[[],[]]]
    StartEnd[0][0] = "lolo"
    StartEnd[0][1] = "titi"
    StartEnd[1][0] = "toto"
    StartEnd[1][1] = "tata"
    print StartEnd[0][0]
    print StartEnd[0][1]
    print StartEnd[1][0]
    print StartEnd[1][1]
    print StartEnd
    en sortie :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    [[[], []], [[], []]]
    toto
    tata
    toto
    tata
    [['toto', 'tata'], ['toto', 'tata']]
    tandis que lorsque je fais :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    StartEnd_1 = [[[],[]],[[],[]]]
    print StartEnd_1
    StartEnd_1[0][0] = "lolo"
    StartEnd_1[0][1] = "titi"
    StartEnd_1[1][0] = "toto"
    StartEnd_1[1][1] = "tata"
    print StartEnd_1[0][0]
    print StartEnd_1[0][1]
    print StartEnd_1[1][0]
    print StartEnd_1[1][1]
    en sortie :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    [[[], []], [[], []]]
    lolo
    titi
    toto
    tata
    [['lolo', 'titi'], ['toto', 'tata']]

    Je ne vois pas la diff�rence entre les deux quelqu'un aurait une id�e ?

    Merci pour votre retour

  7. #7
    Membre Expert Avatar de plxpy
    Homme Profil pro
    Ing�nieur g�ographe
    Inscrit en
    Janvier 2009
    Messages
    792
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 60
    Localisation : France, Haute Garonne (Midi Pyr�n�es)

    Informations professionnelles :
    Activit� : Ing�nieur g�ographe
    Secteur : A�ronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Janvier 2009
    Messages : 792
    Par d�faut
    Les "multiplications" de listes sont pi�geuses : faut bien savoir ce qu'on fait. Sur un autre exemple (on ne voit rien sur l'initialisation des matrices):

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    >>> L = [['toto', 'tata']]*2
    >>> print L
    [['toto', 'tata'], ['toto', 'tata']]
    >>>

    Les �l�ments de la liste L (la liste contenant 'toto' et 'tata') ont �t� dupliqu�s r�p�t�s et, au final, on a deux fois la m�me liste

    (id(qqch) est - je fais court - l'adresse m�moire de qqch)

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    >>> print id(L[0])
    4471292632
    >>> print id(L[1])
    4471292632
    Donc, quand tu modifies l'une, tu modifies "les deux" :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    >>> L[0][0] = 'titi'
    >>> print L
    [['titi', 'tata'], ['titi', 'tata']]
    >>>

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. [SWIG] C-Python : les tableaux 2D
    Par lelapindepauline dans le forum Interfa�age autre langage
    R�ponses: 1
    Dernier message: 18/04/2011, 16h28
  2. Article sur les tableaux dynamiques
    Par Eric Sigoillot dans le forum Langage
    R�ponses: 2
    Dernier message: 16/04/2004, 22h00
  3. R�ponses: 14
    Dernier message: 01/09/2003, 22h46
  4. Les tableaux en PL/SQL
    Par GRUMLY dans le forum PL/SQL
    R�ponses: 5
    Dernier message: 12/08/2002, 18h10

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