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 :

Déclaration tableau ":" et "="


Sujet :

Python

  1. #1
    Membre à l'essai
    Inscrit en
    Juillet 2012
    Messages
    34
    Détails du profil
    Informations forums :
    Inscription : Juillet 2012
    Messages : 34
    Points : 22
    Points
    22
    Par défaut Déclaration tableau ":" et "="
    Bonjour,

    J'ai besoin de comprendre un bout de code en Python, malheureusement je ne connais pas ce langage.

    L'instruction que j'aimerais bien comprendre est de la forme:

    En cherchant à droite à gauche il semble que
    "D"= ["A","B","C"] serait la déclaration d'un tableau composé de 3 éléments. Quelle est la différence avec la ligne contenant ":" à la place du "=" ?

    Merci
    Florent

  2. #2
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 242
    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 242
    Points : 36 699
    Points
    36 699
    Par défaut
    Salut,

    Une instruction est une suite de caractère que l'interpréteur Python pourra interpréter:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    >>> "D": ["A","B","C"]
      File "<stdin>", line 1
        "D": ["A","B","C"]
           ^
    SyntaxError: invalid syntax
    Par contre avec des {} autour on obtient un dict:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    >>> { "D": ["A","B","C"] }
    {'D': ['A', 'B', 'C']}
    comme ["A","B","C"] est une liste composée de chaînes de caractères (une liste d'objets n'est pas un tableau de valeurs).

    "D"= ["A","B","C"] serait la déclaration d'un tableau composé de 3 éléments. Quelle est la différence avec la ligne contenant ":" à la place du "=" ?
    Si nous avons à faire à la construction d'un dict, les 2 écritures:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    >>> z = { "D": ["A","B","C"] }
    >>> z = dict(D=["A","B","C"])
    sont fonctionnellement équivalentes.

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

  3. #3
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    1 046
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 1 046
    Points : 1 376
    Points
    1 376
    Par défaut
    je pense qu'il doit manquer des lignes avant et après celle-ci, genre avec des accolades ...

  4. #4
    Expert éminent sénior
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 631
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 631
    Points : 30 865
    Points
    30 865
    Billets dans le blog
    1
    Par défaut
    Bonjour

    Si on part du principe que ton instruction est de ce type: tab={"D" : ["A", "B", "C"]}, alors c'est (comme l'a dit wiztricks) un dictionnaire.

    Un dictionnaire est un objet qui s'apparente à un tableau sauf que les éléments du dictionnaire ne sont pas accessibles par leur rang dans le tableau (n[0], n[1], n[2]) mais par des clefs. Il crée une association de couples "clef" : "valeur". Et tu peux accéder à la valeur en demandant l'élément indicé par ["clef"].
    Ces clefs peuvent être des chiffres (on aura alors presque l'illusion d'utiliser un tableau habituel) ou bien des chaines de caractères ou bien même des objets plus complexes. Le seul impératif est que la clef ne peut pas être un truc modifiable (ça peut pas être par exemple une liste).

    Donc ici, si tu demandes tab["D"] tu obtiendras la liste ["A", "B", "C"]. Et si tu demandes tab["D"][0], tu tomberas sur "A"...
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

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

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