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 :

Construction de mon tableau


Sujet :

Python

  1. #1
    Membre confirmé
    Inscrit en
    Juillet 2005
    Messages
    73
    Détails du profil
    Informations personnelles :
    Âge : 44

    Informations forums :
    Inscription : Juillet 2005
    Messages : 73
    Par défaut Construction de mon tableau
    Bonjour,

    Je cherche à créer un tableau de ce type :

    Taux
    TM 0 10 20 30 40 50
    20 x a b ...
    30 y
    40 z
    50 ...
    ...

    et après je souhaite chercher par la suite la valeur correspondant à un TM précis et un taux précis. Le tableau est établi une fois pour toute.

    J'avoue que sur ce genre de tableau je sèche.

    Pourriez-vous me filer un petit coup de main ?

    Merci à tous.

  2. #2
    Membre émérite
    Avatar de GnuVince
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2004
    Messages
    679
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2004
    Messages : 679
    Par défaut
    Je comprends pas ce que tu demandes.

  3. #3
    Membre éprouvé

    Profil pro
    Account Manager
    Inscrit en
    Décembre 2006
    Messages
    2 301
    Détails du profil
    Informations personnelles :
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Account Manager

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 301
    Par défaut
    Que veux-tu faiore ? Un tableau avec des listes de nombres ? Si c'est le cas, il suffit par exemple de faire un tableau de tableaux.

  4. #4
    Membre éprouvé
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    119
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 119
    Par défaut
    Je pense que tu veux un dictionnaire, plutot:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    TM={ 10: {10:x,20:y,30:z},
            20:{...}
    }
    TM[10][20]

  5. #5
    Membre confirmé
    Inscrit en
    Juillet 2005
    Messages
    73
    Détails du profil
    Informations personnelles :
    Âge : 44

    Informations forums :
    Inscription : Juillet 2005
    Messages : 73
    Par défaut
    Voici un exemple de mon tableau :



    Et je dois faire une recherche en fonction du couple de valeur "Tm" et "% en poids..."

    Alors je me demandais si en le construisant comme cela ce serait bon :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    tableau = [[20, 20, 1.02], [30, 20, 1.02], [40, 20, 1.01], [50, 20, 1.01], [60, 20, 1.01], [70, 20, 1.01], [80, 20, 1.01], [90, 20, 1.01], [100, 20, 1.01]]
    Merci à vous.

  6. #6
    Membre Expert
    Homme Profil pro
    Inscrit en
    Mars 2007
    Messages
    941
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2007
    Messages : 941
    Par défaut
    Il y a beaucoup de solutions possibles; la tienne est correcte dans le sens où toutes les informations y sont et peuvent être retrouvées, mais elle ne sera pas efficace pour retrouver un élément précis. La meilleur représentation dépend de la façon dont tu dois accéder aux éléments après et de la généralité souhaitée.

    Ici, il est facile de faire un transformation linéaire des valeurs en-têtes de colonnes et de lignes vers 0..n pour les utiliser directement comme indice de tableau:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    tableau=[[1.02, 1.04, 1.12, 1.18], [1.02, 1.04, 1.11, 1.17], ...]
    # pour accéder à l'élément en TM=A et taux=B:
    tableau[A/10-2][B/10-2]
    Cela permet de conserver l'ordre (contrairement à un dictionnaire) et donc de faire un parcours ordonné efficace, et aussi l'accès rapide à un élément donné, mais cela dépend fortement des valeurs en en-tête de lignes et de colonnes (taux et TM).

    Une solution plus générale serait d'utiliser un dictionnaire, tout en gardant un tableau des valeurs de lignes et de colonnes, si le parcours ordonné est nécessaire.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    taux = [20,30,40,50]
    TM = [20,30,40,50,60,70,80,90,100]
    tableau = { (20,20): 1.02, (20,30):1.04, (20,40): 1.12, ... }
    # retrouver un élement:
    tableau[(A,B)]
    #parcours d'une ligne TM=A:
    [tableau[(A,t)] for t in taux]

  7. #7
    Membre confirmé
    Inscrit en
    Juillet 2005
    Messages
    73
    Détails du profil
    Informations personnelles :
    Âge : 44

    Informations forums :
    Inscription : Juillet 2005
    Messages : 73
    Par défaut
    merci pour ces explications.

    Ca vient de me débloquer.

    Pas si simple que ça la manipulation des dictionnaires.

    Super.

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

Discussions similaires

  1. [MySQL] Comment afficher mon tableau
    Par phpaide dans le forum PHP & Base de données
    Réponses: 9
    Dernier message: 20/04/2006, 15h12
  2. J'ai un TH dans mon tableau et j'aimerais faire en sorte qu'
    Par hstlaurent dans le forum Balisage (X)HTML et validation W3C
    Réponses: 1
    Dernier message: 12/09/2005, 17h41
  3. Réponses: 6
    Dernier message: 07/06/2005, 16h19
  4. [XHTML 1.0] Transformer mon tableau en div
    Par stailer dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 29/05/2005, 18h50
  5. Réponses: 11
    Dernier message: 28/02/2005, 13h23

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