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

Calcul scientifique Python Discussion :

Matrice : creation et parcours rapide


Sujet :

Calcul scientifique Python

  1. #1
    Membre régulier
    Inscrit en
    Novembre 2002
    Messages
    291
    Détails du profil
    Informations forums :
    Inscription : Novembre 2002
    Messages : 291
    Points : 81
    Points
    81
    Par défaut Matrice : creation et parcours rapide
    Bonjour,

    Voilà je voulais savoir quelle est le meilleur moyen de reprensenter une matrice... j'entends meilleurs moyen : un parcours complet rapide et une recherche de valeur rapide

    j'ai le choix entre :
    • liste de liste
    • dictionnaire avec comme clef un tuple representant les coordonnees
    • ...autre ?
    merci de votre aide

  2. #2
    Membre actif
    Avatar de Choupi
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    223
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 223
    Points : 235
    Points
    235
    Par défaut
    Hello,

    Utiliser les librairies numpy / scipy qui offrent le support des tableaux (de grandes tailles) avec plein de fonction bien sympa. Et comme c'est très rapide, ce sera efficace

    Choupi

  3. #3
    Membre régulier
    Inscrit en
    Novembre 2002
    Messages
    291
    Détails du profil
    Informations forums :
    Inscription : Novembre 2002
    Messages : 291
    Points : 81
    Points
    81
    Par défaut
    merci Choupi, je regarde ca...

    Par contre en fait j'ai pas un tableau "d'entier" ou de "caracteres" mais c'est une matrice de boutons(utilisation de tkinter) : j'aimerai essayer d'afficher un demineur avec une grille de 30x30 tout en gardant un affichage et un traitement correcte(rapide).

    Pour l'instant j'utilise des liste de liste et l'affichage de tous les boutons se fait en approximativement (sur mon ordi..Athlon 1.8Ghz, 512, GeForce 4400) en 4s. Je voulais savoir si changer la structure pourrait augmenter (un peu?) se temps.
    Meme question si je veux decouvrir(enfoncer les boutons) toutes les cases d'un coup... (pour l'instant 5s pour tout enfoncer)




    De plus, je constate dans le FAQ que pour creer une liste de liste il fait :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    >>> l = 5*[0]  ## peu importe ce que l'on met dans cette liste
    >>> for i in range(len(l)):    l[i] = 5*[0]
    est ce plus rapide que :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    matrice = []
    for i in range(nbLignes):
        col = []
        for j in range(nbColonnes)
            col.append("element dans la case[i, j]")
        matrice.append(col)
    ce qui me permet d'initialiser les cases avec differentes variables..

    edit : d'ailleur la methode de la FAQ ne marche qui si on veut une matrice d'entier, float.... cependant avec une matrice de vos propres classe cela ne marche pas....

    merci

  4. #4
    Membre actif
    Avatar de Choupi
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    223
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 223
    Points : 235
    Points
    235
    Par défaut
    C'est à tester ... mais je pense que oui c'est plus rapide d'initiliaser ta matrice "vide" puis éventuellement de la remplir avec les valeurs que tu veux. Append c'est peut être un peu lourd.

    Je pense vraiment que tu peux gérer tes boutons avec une matrice fournir par numpy, au pire tu herites la classe matrice pour l'adapter à tes besoin, mais par exemple, tu pourras retrouver rapidement le max de la matrice ou un ensemble de valeurs autour d'un point.

    Montre éventuellement ton code...

    C.

  5. #5
    Expert éminent sénior
    Avatar de Guigui_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2002
    Messages
    1 864
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2002
    Messages : 1 864
    Points : 10 067
    Points
    10 067
    Par défaut
    Citation Envoyé par CaptainChoc
    edit : d'ailleur la methode de la FAQ ne marche qui si on veut une matrice d'entier, float.... cependant avec une matrice de vos propres classe cela ne marche pas....
    Oui, c'est va, La méthode de la FAQ ne fonctionne qu'avec des type de base (entier, float, string) mais pas avec des objets

  6. #6
    Membre régulier
    Inscrit en
    Novembre 2002
    Messages
    291
    Détails du profil
    Informations forums :
    Inscription : Novembre 2002
    Messages : 291
    Points : 81
    Points
    81
    Par défaut
    en fait pour ce qui est de la matrice, je prefererai une solution sans module exterieur à python... donc je cherhce peut etre pas le plus rapide(parmis tous les modules exxistant sur le net...), mais dans python, le moyen le plus rapide..

  7. #7
    Membre actif
    Avatar de Choupi
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    223
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 223
    Points : 235
    Points
    235
    Par défaut
    Numpy c'est certe à installer en plus mais ca reste le mieux

    Non je suis pas le nouveau gourou de la secte numpy, mais bon le gain en vitesse de codage n'est pas non plus négligeable, si tu as de grosses matrices ca sera indispensable d'en passer par là. A quand en interne....


    Bon courage

Discussions similaires

  1. Instruction rapide parcours tableau somme
    Par moulery dans le forum SQL
    Réponses: 5
    Dernier message: 05/12/2007, 14h33
  2. Creation d'une classe Matrice
    Par parisjohn dans le forum Général Python
    Réponses: 1
    Dernier message: 20/07/2007, 17h46
  3. [c#] creation de matrice en dynamique
    Par wodel dans le forum Windows Forms
    Réponses: 1
    Dernier message: 23/05/2007, 14h45
  4. Multiplication rapide de deux matrices 8x8
    Par progfou dans le forum Algorithmes et structures de données
    Réponses: 11
    Dernier message: 28/05/2006, 16h16
  5. Parcours très rapide d'une arborescence ?
    Par Invité dans le forum C++Builder
    Réponses: 7
    Dernier message: 06/05/2005, 09h24

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